码迷,mamicode.com
首页 > 其他好文 > 详细

R_Studio(学生成绩)对两个班级学生成绩进行集合,重新计算学生综合测评成绩并对学生按综合测评成绩进行排名

时间:2018-09-28 20:39:06      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:矩阵   sub   数据集   ide   csv   成绩   play   操作   data   

 

 

  对成绩表"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
View Code

 

  集成结果:

  技术分享图片

 

  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(学生成绩)对两个班级学生成绩进行集合,重新计算学生综合测评成绩并对学生按综合测评成绩进行排名

标签:矩阵   sub   数据集   ide   csv   成绩   play   操作   data   

原文地址:https://www.cnblogs.com/1138720556Gary/p/9720437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!