### NOTE duplicated(c(1:45, 5)) ### Matrices A <- matrix(1:10, 5, 2) B <- matrix(21:30, nrow = 5) C <- matrix(21:40, nrow = 2, byrow = TRUE) nrow(A) ncol(B) dim(C) A + B A - B A * B A == B A < B t(A) all.equal(A, B) A %*% t(A) # (5 * 2) (2 * 5) --> (5 * 5) # Model-implied covariance matrix in factor analysis # 2 Factors, three indicators each LAMBDA <- matrix(0, 6, 2) LAMBDA[1:3, 1] <- 0.7 LAMBDA[4:6, 2] <- 0.7 PSI <- matrix(0.5, 2, 2) diag(PSI) <- 1 THETA <- diag(rep(0.51, 6)) CX <- LAMBDA %*% PSI %*% t(LAMBDA) + THETA solve(CX) # Group Statistics aggregate(Temp ~ Month, data = airquality, FUN = mean) aggregate(Temp ~ Month, data = airquality, FUN = sd, na.rm = TRUE) FirstHalf <- airquality$Day <= 15 airquality2 <- cbind(airquality, FirstHalf) aggregate(Temp ~ FirstHalf + Month, data = airquality2, FUN = mean) aggregate(cbind(Temp, Ozone, Wind) ~ Month, data = airquality, mean) ### Basic inferential statistics result <- t.test(airquality$Temp, mu = 70) names(result) # Independent t-test summer <- (airquality$Month < 9) & (airquality$Month > 5) t.test(airquality$Temp ~ summer) t.test(airquality$Temp ~ summer) t.test(airquality$Temp ~ summer, var.equal = TRUE) # Paired sample t-test t.test(attitude$learning, attitude$advance, paired = TRUE) cor.test(attitude$learning, attitude$advance) cor(attitude) # just the lower diagonal as.dist(cor(attitude)) cov(attitude) chisq.test(c(90, 83)) # Correction of continuity chisq.test(c(90, 83), p = c(0.6, 0.4)) n <- 90 + 83 c(0.6, 0.4) * n chisq.test(table(airquality$Month)) # Array black <- HairEyeColor[1, , ] black obj <- chisq.test(black) obj[["expected"]] fisher.test(black) Ozone.NA <- is.na(airquality$Ozone) Ozone.NA MonthOzoneNA <- table(airquality$Month, Ozone.NA) MonthOzoneNA chisq.test(MonthOzoneNA) # ANOVA library(psych) head(sat.act) ## Graphical checks qqnorm(sat.act$ACT) qqline(sat.act$ACT) library(QuantPsyc) plotNormX(sat.act$ACT) # Kernel density estimation library(psych) skew(sat.act$ACT) kurtosi(sat.act$ACT) describe(sat.act) boxplot(ACT ~ gender, data = sat.act, col = c("red", "blue")) bartlett.test(ACT ~ gender, data = sat.act) library(Rcmdr) leveneTest(sat.act$ACT, group = sat.act$gender)