“Gary1.csv”、“Gary2.csv”、“Gary3.csv”中保存了一个班级学生三个学期的成绩

  对三个学期中的成绩数据进行集成并重新计算综合成绩和排名,并按排名顺序排布(学号9位数111304001~11304047)

 

  Gary1.csv中数据

  R_Studio(学生成绩)使用cbind()函数对多个学期成绩进行集成

 

  Gary2.csv中数据

  R_Studio(学生成绩)使用cbind()函数对多个学期成绩进行集成

 

   Gary3.csv中数据

  R_Studio(学生成绩)使用cbind()函数对多个学期成绩进行集成

 

  cbind是根据列进行合并  (要求:所有数据行数相等)

  rbind是根据行进行合并  (要求:所有数据列数相同)

 

  R_Studio(学生成绩)使用cbind()函数对多个学期成绩进行集成

 

#打开工作目录文件
setwd('D:\\data')

list.files()

inputfile1=read.csv(file="Gary1.csv",header=TRUE)
inputfile2=read.csv(file="Gary2.csv",header=TRUE)
inputfile3=read.csv(file="Gary3.csv",header=TRUE)

#删除inputfile1中的综合成绩和排名,删除inputfile2中的学号、姓名、综合成绩和排名
result=cbind(inputfile1[,-c(10,11)],inputfile2[,-c(1,2,12,13)]) #数据集列合并

#同理
result2=cbind(result,inputfile3[,-c(1,2,7,8)])

#对学生成绩进行相加,得到一组数据(我自己测试学生成绩是从第三列到第二十二列的)
#相加成绩保存到evaluation中
evaluation=apply(result2[,3:22], 1,mean,na.rm=TRUE)

#apply函数一般有三个参数
#第一个参数代表矩阵对象
#第二个参数代表要操作矩阵的维度 1表示对行进行处理,2表示对列进行处理
#第三个参数就是处理数据的函数
#apply会分别一行或一列处理该矩阵的数据。

#将evaluation用“综合测评”添加到resule2中,将结果用result11保存
result11=data.frame(result2,'综合测评'=evaluation)

#对result11中按综合测评成绩进行decreasing减少量排名
result22=result11[order(result11$综合测评,decreasing = TRUE), ]

result33=data.frame(result22,'测评排名'=order(result22$综合测评,decreasing = TRUE))

result33
Gary.R

相关文章:

  • 2022-12-23
  • 2021-07-12
  • 2021-06-30
  • 2021-08-08
  • 2021-05-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-19
  • 2022-12-23
  • 2021-09-08
  • 2021-08-02
  • 2022-01-22
相关资源
相似解决方案