zoukankan      html  css  js  c++  java
  • R_Studio中对xls文件学生总成绩统计求和

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

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

      

      

      (读取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]))

      

    (如需转载学习,请标明出处)
  • 相关阅读:
    如何更改 iOS 和安卓浏览器上的 input[type="radio"] 元素的默认样式?
    js获取样式、currentStyle和getComputedStyle的兼容写法
    js选中文字兼容性解决
    最短的IE判断var ie=!-[1,]分析
    总结oninput、onchange与onpropertychange事件的用法和区别
    jQuery工具函数
    Vnpy官网汇总
    Anaconda下各个Python版本下载地址
    APScheduler——定时任务框架
    PyQt5——隐藏控件并保留位置
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9612410.html
Copyright © 2011-2022 走看看