R_Studio(学生成绩)对两个班级学生成绩进行集合,重新计算学生综合测评成绩并对学生按综合测评成绩进行排名
Posted Cynical丶Gary
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R_Studio(学生成绩)对两个班级学生成绩进行集合,重新计算学生综合测评成绩并对学生按综合测评成绩进行排名相关的知识,希望对你有一定的参考价值。
对成绩表"11_1_1.csv" "11_2_1.csv"进行集成,并重新计算4门课程的平均分为综合测评,增加“排名”属性,并按排名排序
"11_1_1.csv","11_2_1.csv"是两个不同班级的学生
setwd(\'D:\\\\data\') #读取数据 dat1=read.csv(\'./11_1_1.csv\',he=T) dat2=read.csv(\'./11_2_1.csv\',he=T) result=rbind(dat1,dat2) #数据集列合并 #计算出各个学科的平均分 valuation=apply(result[,3:6], 1,mean) #将各个学生的平均分写入综合成绩 result[,7]=valuation #将学生按综合成绩从高到底进行排名 dat=result[order(result$综合测评,decreasing = TRUE), ] #添加排名属性 #计算出学生的人数,使用seq()函数从1开始生成学生学号 temp=length(dat$学号) sub=seq(1,temp,1) output=data.frame(dat,\'排名\'=sub)#变量重命名,存入数据 output
集成结果:
apply函数用于处理矩阵类型的数据
apply函数三个参数
第一个参数:矩阵对象
第二个参数:要操作矩阵的维度,1表示对行进行处理,2表示对列进行处理
第三个参数:处理数据的函数。apply会分别一行或一列处理该矩阵的数据
valuation=apply(result[,3:6], 1,mean,na.rm=TRUE)
(当成绩数据中存在缺失值时可使用 na.rm=TRUE)
seq(from,to,length)函数:
第一个参数:生成一组数字,从from开始,
第二个参数:到to结束,
第三个参数:每两个数间的间隔是length
sub=seq(1,temp,1)
(生成一组数字,从1开始,到temp结束,间隔是1)
sub=seq(1,6,3)
输出:[1] 1 4
以上是关于R_Studio(学生成绩)对两个班级学生成绩进行集合,重新计算学生综合测评成绩并对学生按综合测评成绩进行排名的主要内容,如果未能解决你的问题,请参考以下文章