• R语言入门小练习


    要求:模拟产生统计专业同学的名单(学号区分),记录数学,线代,英语三科成绩

    > num <- seq(1513032001, 15130320100)                 #模拟100位同学

    > math <- round( runif(100, min = 80, max = 100) )    #round()---产生随机数, runif()--均匀分布在min = 80 到 max = 100之间的数(100个)

    > linger <- round( rnorm(100, mean = 80 , sd = 7) )    #rnorm()---正态分布在平均分=80, 标准差=7之间的数(100个)

    > eng <- round( rnorm(100, mean = 83, sd = 18) )

    > eng[which(eng > 100)] = 100                                  #eng会产生大于100的数,将大于100的数全部置为100,which(require)返回元素中满足中间要求的数下标。                                                                       # (ps:R中元素下标从 1 开始,不是 0 !!!

    > scoreframe <- data.frame(num, math, linger, eng)     #将 num, math,linger,eng组成数据框,数据框的语法--data.frame(obj1,obj2......);

    #将数据写到文本文档之中, 在写入文件之前,最好设置一下工作空间,否则,得用 file = "D:/路径.../mark.txt" (显得麻烦,建议打开R的时候,就设置好工作空间,

    # 还有路径要用 "F:/路径1/路径2/..."    or   “F:\路径1\路径2....”,   不能使用 "F:路径1路径2"  ).

    > write.table(scoreframe, file = "mark.txt", col.names = F, rol.names = F, seq = " ")      

    #各科平均----------只求成绩平均,学号就不用求了~

    > colMean(scoreframe[ c("math", "linger", "eng") ]

    > apply(scoreframe, 2, mean)                                               

    #对数据框x 在行(1), 列(2)方向作指定操作---本处是apply(scoreframe, 2(代表列), mean(求平均操作) ) 

    > apply(scoreframe, 2, max)                                                    #求各科最高最低

    > apply(scoreframe, 2, min)

    > apply(scoreframe[ c("math", "linger", "eng") , 1, sum ]             #求个人的总分

  • 相关阅读:
    交叉编译fw_printenv
    解压 xxxx.cpio.gz.u-boot
    创建Uboot 环境变量 bin 文件
    Linux快速显示图片
    移动终端的GPU显卡介绍
    Video Mode Timings
    change systemd service
    device tree DTB DTC 相互转换
    如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)- 续(附demo)
    解决h5在ios 微信中 input框键盘收起 页面底部留白
  • 原文地址:https://www.cnblogs.com/douzujun/p/5709925.html
Copyright © 2020-2023  润新知