### RSTUDIO ### rnorm(10) 1+2 log(10) x <- 5 x ### WORKING WITH R PACKAGES ### install.packages("dplyr") install.packages("ggplot2") install.packages("rmarkdown") install.packages("shiny") library(dplyr) vignette("dplyr") ### BASIC R CODING ### a <- "hello" #b <- log(10) ?log c(4,5,6) seq(4,6) 4:6 c(rep(2,2), rep(1,2)) c(2,2,1,1) y <- seq(10, 1, -1) y[c(2,5,7)] 2*y > 15 y[2*y>15] ### IMPORTING AND EXPORTING DATA ### dat_csv <- read.csv("https://stats.idre.ucla.edu/stat/data/hsbraw.csv") ### DATA FRAMES ### View(dat_csv) dat_csv[c(2,5,10), "math"] dat_csv$math[c(2,5,10)] str(dat_csv) test3 <- dat_csv[, c("math", "read", "write")] test3$test_mean <- rowMeans(test3) head(test3, 5) ### DATA MANAGEMENT ### library(dplyr) low_read <- filter(dat_csv, read <= 50) mid_read <- filter(dat_csv, read > 50 & read <= 60) high_read_in <- select(filter(dat_csv, read > 60), id, read) high_read_out <- select(filter(dat_csv, read > 60), -read) low_and_mid_read <- rbind(low_read, mid_read) high_read <- inner_join(high_read_in, high_read_out) all_read <- rbind(low_and_mid_read, high_read) dat_csv$science == -99 dat_csv$science[dat_csv$science == -99] <- NA mean(dat_csv$science, na.rm=TRUE) ### BASIC DATA ANALYSIS ### cor(select(dat_csv, read, write, math, science, socst)) # do pairwise to avoid missing values cor(select(dat_csv, read, write, math, science, socst), use="pairwise.complete.obs") tab <- table(dat_csv$ses, dat_csv$schtyp) prop.table(tab, margin=1) t.test(math ~ female, data=dat_csv) m1 <- lm(read ~ math + female + ses, data=dat_csv) summary(m1) m2 <- lm(read ~ math + female + ses + prog, data=dat_csv) anova(m1, m2) # keep hitting ENTER in the console to see the next plot plot(m1) ### GRAPHICS ### dat_csv$prog <- factor(dat_csv$prog) plot(dat_csv$read, dat_csv$write, pch=15, col=dat_csv$prog) tab <- table(dat_csv$ses, dat_csv$prog) barplot(tab, col=c("red", "blue", "green"), legend.text=TRUE) library(ggplot2) ggplot(dat_csv, aes(x=read, y=write, color=ses)) + geom_point() + geom_smooth(method=lm, se=F) ### SHARING YOUR WORK ### library(shiny) # hit Esc to close the apps runExample("01_hello") runExample("06_tabsets") runExample("10_download")