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

R_Studio中xls数据进行统计求和

时间:2018-09-09 12:06:44      阅读:775      评论:0      收藏:0      [点我收藏+]

标签:导出   数据表   for   使用   pre   img   信息   tar   info   

 

 

我们发现这张xls表格是没有学生总分的,在xls文件中计算学生总分嫌麻烦时,可以考虑在R Studio中自定义R Script脚本来解决实际问题(计算每个学生的总成绩)

 

  .xls数据表中的数据(关键信息姓名已进行涂鸦)

  技术分享图片

 

技术分享图片

 

 

实现过程

 

  读取.xls文件,先找到要读取的"综合成绩.xls"文件目录

技术分享图片

 

技术分享图片

  (读取xls文件方法及出现乱码解决方法  传送门) 

 

   dat[i,]表示第i列数据

 技术分享图片

 

  dat[,j]表示第j列数据

技术分享图片

 

那么我们可以自己定义一个R Script脚本来实现sum求学生分数总合函数

 

   sum求得总分函数

sum<- function(a){
  result <- c()
  for(i in 1:59){
    sum <- 0
    for(j in 3:10){
      if(!is.na(a[i,j])){
        sum <- sum + as.numeric(levels(a[i,j]))[a[i,j]]
      }
    }
    result <- c(result,sum)
  }
  return(result)
}

 

技术分享图片

  

  

  在R_Studio中调用一下

sum(dat)

 

  将得到学生成绩总分加入到data表格中

dat <- data.frame(dat,sum(dat)) 

 

技术分享图片

 

  导出文件也很简单

write.xlsx2(dat,"Gary2.xlsx")

 

  Gary2就是我们刚刚导出来数据存放的文件

技术分享图片

 

 

 

 

  这时可能还会有小伙伴想绘制每门课程的xx图

技术分享图片

  (main=("总成绩直方图") 忘记打了,不过没关系,提示错误还时‘x’必须为数值)

 

  这是因为此时dat[]数据中存在有向量,我们只需要使用as.numeric()方法强转一下就可以了

hist(as.numeric(dat[,2]),main=("总成绩直方图"))

 

技术分享图片

 

 

plot(as.numeric(dat[,2]),main=("总成绩散点图"))

 

技术分享图片

 

 

 barplot(as.numeric(dat[,2]),main=("总成绩条形图"))

 

技术分享图片

 

 

pie(1:10,as.numeric(dat[,2]),main=("总成绩饼状图"))

 

技术分享图片

 

 

  再来个qq图

qqnorm(as.numeric(dat[,2]))

 

技术分享图片

 

  

R_Studio中xls数据进行统计求和

标签:导出   数据表   for   使用   pre   img   信息   tar   info   

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

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