rm(list = ls())
options(digits = 2)
Student <- c("John Davis","Angela Williams","Bullwinkle Moose",
"David Jones","Janice MaRkhammer","Cheryl Cushing",
"Reuven Ytzrhak","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)
English <- c(25,22,18,15,20,28,15,30,27,18)
roster <- data.frame(Student,Math,science,English,stringsAsFactors = FALSE)
roster[[‘science‘]]
roster[‘science‘]
z <- scale(roster[,2:4]);z
score <- apply(z,1,mean);score #按行求均数
roster <- cbind(roster,score);roster
y <- quantile(score,c(.8,.6,.4,.2));y #求对应百分位点对应的y
roster$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," ");name #list
name[[3]]
Lastnames <- sapply(name,"[",2);Lastnames # "[" a function that extracts part of an object
Firstnames <- sapply(name,"[",1)
roster[,-1]
roster <- cbind(Firstnames,Lastnames,roster[,-1]) #[,-1]
roster <- roster[order(Lastnames,Firstnames),]
roster
原文:https://www.cnblogs.com/super-yb/p/11046697.html