# Examples 1 x <- 2/3 x sqrt(x) a <- 2*(x+3)^2 a y <- t(c(1, 2, 3, 5)) y y[1] sum(y) 2 * y f <- function(y, m=2) m * y f f(y, 2) f(y, 3) # Your turn 1 x <- t(c(4, 1, 3, 9)) x d <- sqrt(x^2 + y^2) d 2*(d[1] + d[4]) # Loading data x <- read.csv(file.choose()) # Choose the tips data head(x) dim(x) # Your turn 2 sla <- read.csv(file.choose()) head(sla) # Examining data x head(x) summary(x) str(x) dim(x) # Data frames x$bill x[, "bill"] x[1,1] x[1:5,] x[,1] x[,c(2,3,5)] x[1:5,c("tip","day")] x$tip[1:20] # Statistical summaries mean(x$tip) median(x$tip) min(x$tip) max(x$tip) range(x$tip) sd(x$tip) var(x[,2:3]) cor(x[,2:3]) cor(x$tip,x$bill) summary(x) # Your turn 3 cor(sla$day,sla$weight) mean(sla$day) # Random numbers runif(10) runif(10,-100,100) rnorm(30) rnorm(10,5,6) x<-rnorm(30) mean(x) sd(x) rexp(30) rpois(20,1) rpois(20,10) # Your turn 4 x<-rnorm(10) mean(x) sd(x) x<-rnorm(100) mean(x) sd(x) x<-rnorm(100,-8,4) mean(x) sd(x) cor(rnorm(30),runif(30)) # Getting information ?runif help(package="ggplot2") ?"*" # Your turn ?mean slap <- read.csv(file.choose()) mean(slap$age,na.rm=T) # Listing R objects ls() ls(pos=2) search() # Generating sequences 3:10 seq(3, 10) seq(3, 10, by=1/3) seq(3, 10, len=8) rep(3, 10) rep(1:3, 5) rep(c(1,2,3,4), c(2,3,2,3)) rep(1:3, rep(2,3)) # Common functions abs(-2) sign(-2) sqrt(2) exp(1) log(100) log10(100) floor(2.579) ceiling(2.579) trunc(2.579) round(2.579) signif(2.579, 2) 10%/%3 10%%3 strsplit("10-Oct-99","-") Sys.Date() strsplit(as.character(Sys.Date()),"-") Sys.time() format(Sys.time(), "%a %b %d %X %Y") format(Sys.time(), "%X") strsplit(format(Sys.time(), "%X"),":") # Options options(digits=2) head(sla) options(digits=5) head(sla) head(sla) options(width=80) head(sla) # Functions std.data <- function(vec) { (vec-mean(vec))/sd(vec) } x <- std.data(sla$weight) mean(x) sd(x) x <- matrix(rnorm(100, 10, 5), ncol=4) dim(x) apply(x, 2, mean) apply(x, 2, sd) y <- apply(x, 2, std.data) dim(y) apply(y, 2, mean) apply(y, 2, sd)