#设置小数点后位数 options(digits=2) name=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) eng=c(25,22,18,15,20,28,15,30,27,18) sci=c(95,99,80,82,75,85,80,95,89,86) scoreData=data.frame(name,math,sci,eng,stringsAsFactors=FALSE) #成绩的标准化 x=scale(scoreData[,2:4]) #求平均 score=apply(x,1,mean) scoreData=cbind(scoreData,score) y=quantile(score,c(0.8,0.6,0.4,0.2)) #评等级 scoreData$grade[score>=y[1]]="A" scoreData$grade[score<y[1]&score>=y[2]]="B" scoreData$grade[score<y[2]&score>=y[3]]="C" scoreData$grade[score<y[3]&score>=y[4]]="D" scoreData$grade[score<y[4]]="F" nametemp=strsplit(scoreData$name," ") lastname=sapply(nametemp,"[",2) fristname=sapply(nametemp,"[",1) scoreData=cbind(fristname,lastname,scoreData[-1]) scoreData=scoreData[order(lastname,fristname),]
最终scoreData为: