R student score

来源:互联网 发布:工作流设计软件 编辑:程序博客网 时间:2024/05/23 13:20
options(digits=2)Studeng <- c("John Davis", "Angela Williams", "Bullwinkle Moose", "David Jones", "Janice Markhammer", "Chery1 Cushing", "Reuven Ytzrhk", "Greg Knox", "Joel England", "Mary Rayburn")Math <- c(502,600,412,358,495,512,410,625,573,522)Science <- c(95,99,80,82,75,85,80,95,89,86)Englist <- c(25,22,18,15,20,28,15,30,27,18)roster <- data.frame(Studeng, Math, Science, Englist, stringsAsFactors=FALSE)names(roster) <- c("Student", "Math", "Science", "Englist")rosternames(roster) <- c("Student", "Math", "Science", "English")z <- scale(roster[, 2:4])mean(roster[, 2])options(digits=3)sqrt(sum((roster[,2] - mean(roster[,2]))^2) %/% (length(roster[,2]) -1))zscore <- apply(z, 1, mean)scoredim(score)length(score)roster <- cbind(roster, score)head(roster)y <- quantile(score, c(.8, .6, .4, .2))yroster$grade[score >= y[1]] <- "A"roster$grade[score < y[1] & score >= y[2]] <- "B"roster$grade[score < y[2] & score >= y[3]] <- "C"roster$grade[score < y[3] & score >= y[4]] <- "D"roster$grade[score < y[4]] <- "F"name <- strsplit((roster$Student), " ")namelastname <- sapply(name, "[", 2)firstname <- sapply(name, "[", 1)
roster <- cbind(firstname, lastname, roster[,-1])
roster <- roster[order(lastname, firstname),]


0 0