# R-program for Supplementary Exercise 1.145 of IPS7e csdata <- read.csv("h:/vhm/vhm801/Datasets/csv/Chapter 1/ex01_145.csv") # descriptive statistics summary(csdata[csdata$sex==1,]) summary(csdata[csdata$sex==2,]) # can also use doBy library to compute statistics by groups (here, sex) library(doBy) summaryBy (gpa+satm ~ sex, csdata, FUN=c(mean,sd,median,IQR,length)) # boxplots boxplot (gpa ~ sex, csdata) boxplot (satm ~ sex, csdata) # Stata note for gpa boxplot outliers applies to R implementation as well # quantile plots # note: datax=T option give plot orientation as in Minitab, otherwise as in Stata qqnorm(csdata[csdata$sex==1,]$gpa, datax=T) qqline(csdata[csdata$sex==1,]$gpa, datax=T) # same thing for sex=2 (women) qqnorm(csdata[csdata$sex==2,]$gpa, datax=T) qqline(csdata[csdata$sex==2,]$gpa, datax=T) # and now for satm qqnorm(csdata[csdata$sex==1,]$satm, datax=T) qqline(csdata[csdata$sex==1,]$satm, datax=T) qqnorm(csdata[csdata$sex==2,]$satm, datax=T) qqline(csdata[csdata$sex==2,]$satm, datax=T) # Shapiro-Wilk normality test shapiro.test(csdata[csdata$sex==1,]$gpa) shapiro.test(csdata[csdata$sex==2,]$gpa) shapiro.test(csdata[csdata$sex==1,]$satm) shapiro.test(csdata[csdata$sex==2,]$satm) # note: not exactly same P-values as in Stata