########################################################################### # PUBLG100: Introduction to Quantitative Methods # # Week 2 Solutions: Descriptive Statistics # # ## ----eval = FALSE-------------------------------------------------------- ## # Change your working directory ## setwd("N:/PUBLG100") ## ## # Check your working directory ## getwd() ## ## # clear the environment ## rm(list = ls()) ## ------------------------------------------------------------------------ library(readxl) student_data <- read_excel("hsb2.xlsx") ## ------------------------------------------------------------------------ student_data$final_score <- apply(student_data[c("read", "write", "math", "science", "socst")], 1, mean) head(student_data) ## ------------------------------------------------------------------------ mean_final <- mean(student_data$final_score) mean_final median_final <- median(student_data$final_score) median_final ## ------------------------------------------------------------------------ mode_final <- sort(table(student_data$final_score), decreasing = TRUE)[1] mode_final ## ------------------------------------------------------------------------ student_data$school_type <- factor(student_data$schtyp, labels = c("Public", "Private")) ## ------------------------------------------------------------------------ table(student_data$school_type) ## ------------------------------------------------------------------------ public_school <- subset(student_data, school_type == "Public") public_var <- var(public_school$final_score) public_sd <- sd(public_school$final_score) ## ------------------------------------------------------------------------ private_school <- subset(student_data, school_type == "Private") private_var <- var(private_school$final_score) private_sd <- sd(private_school$final_score) ## ------------------------------------------------------------------------ top_public_student <- which.max(public_school$final_score) top_public_student_id <- public_school[top_public_student,]$id bottom_public_student <- which.min(public_school$final_score) bottom_public_student_id <- public_school[bottom_public_student,]$id ## ------------------------------------------------------------------------ top_private_student <- which.max(private_school$final_score) top_private_student_id <- private_school[top_private_student,]$id bottom_private_student <- which.min(private_school$final_score) bottom_private_student_id <- private_school[bottom_private_student,]$id ## ------------------------------------------------------------------------ quantile(student_data$final_score, c(0.2, 0.4, 0.6, 0.8)) ## ------------------------------------------------------------------------ plot(student_data$school_type, student_data$final_score, main = "Public v. Private Schools", las = 2)