## Chapter 2 R code. ## install.packages("ggplot2", repos = "http://cran.stat.ucla.edu/") summary (c(10 , 5, 2)) (2 + 3) + (2 * 3) - (6 / 3) - 3 ^ 2 myresult <- 2 + 3 myresult myresult * 2 mydat <- c(2, 3, 1, 0, 3, 4) mydat mydat * 2 mynames <- c(" Carlos ", " Marta ", " Salome ", " Philip ") mynames mynames * 2 paste (" grade. ", as.character (5:8), sep = "") mydat mean(mydat) sd(mydat) summary(mydat) min(mydat); max(mydat) myfac0 <- c(0, 1, 1, 0) myfac <- factor (myfac0, labels = c(" Male ", " Female ")) myfac str(myfac) mynum <- c(1.5, 10, 8.467, 8) str(mynum) mychar <- c("Carlos", "Marta", "Salome", "Philip") str(mychar) mynum2 <- c(1.5, NA, 8.467, 8) mynum2 mynum2 summary(mynum2) mean(mynum2) mean(mynum2, na.rm = TRUE) mynum <- c(1.5, 10, 8.467, 8) mychar <- c("Carlos", "Marta", "Salome", "Philip") mymat <- matrix(c(mynum, mychar), ncol = 2) # Matrix with 2 columns. mymat str(mymat) mydat <- data.frame(Char = mychar, Num = mynum) # Data frame. mydat str(mydat) mylist <- list(Char = mychar, Num4 = mynum, Num3 = c(1, 2, 3)) # List. mylist str(mylist) colnames(mydat) colnames(mydat) <- c("Name", "Score") # Assigns new column names. mydat # Implicit print. mydat$Name mydat$Score attach(mydat) mean(Score) sd(Score) detach(mydat) with(mydat, mean(Score)) with(mydat, c(mean(Score), sd(Score))) mymat mymat[1,2] mydat mydat[2,2] mymat[1:2,2] mydat[1:2,1:2] mymat[c(1,3),1] mydat[ ,1] mydat[1, ] mynum <- c(1.5, 10, 8.467, 8) mynum[1] mynum[3] mylist #Print all list elements. mylist[[2]] mylist[[2]][2] mylist[[3]] mylist[[3]][1] mydat mydat2 <- mydat[order(mydat$Score), ] mydat2 mydat2[2,2] <- NA mydat2 ##save(mynum, mydat, file = "C:/Mine/myfile.Rdata") rm(list = ls()) # Delete all objects from memory. ls() # No objects available. load(file = "C:/Mine/myfile.Rdata") objects() rm(mynum) objects() mynum <- c(1.5, 10, 8.467, 8) mymean <- function() {sum(mynum) / length(mynum)} mymean() mean(mynum) mymean <- function(x) {sum(x) / length(x)} mymean(x = mynum) mynum2 <- c(10, 8, 2, 0) mymean(mynum2) mymean2 <- function(){ mysamp <- rnorm(n = 10, mean = 100, sd = 15) mean(mysamp) } mymean2() require(ggplot2) set.seed(111) myresult <- rdply(.n = 15, .expr = mymean2()) colnames(myresult) <- c("rep", "mean") myresult myresult <- rdply(.n = 15000, .expr = mymean2()) colnames(myresult) <- c("rep", "mean") (ggplot(data = myresult, aes(x = mean)) + geom_density()) myresult <- as.data.frame(matrix(NA, ncol = 2, nrow = 15)) # Define storage data frame. for(i in 1:15){ # Repetition details. set.seed(i) # Allows replication. mysamp <- rnorm(n = 10, mean = 100, sd = 15) # Generate sample data. myresult[i ,1] <- i # Store repetition number. myresult[i ,2] <- mean(mysamp) # Store sample mean. } colnames(myresult) <- c("rep", "mean") myresult set.seed(123) # Allows reproduction of results. y <- rnorm(n = 20, mean = 100, sd = 15) # Generate variables. x1 <- rnorm(n = 20, mean = 100, sd = 15) x2 <- rnorm(n = 20, mean = 100, sd = 15) lm.out <- lm(y ~ x1 + x2) # Estimate model and save output. summary(lm.out) # Display output. ##require(RSiteSearch) ##RSiteSearch("random effects")