• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言入门小练习

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

> 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 ]             #求个人的总分

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言:ggplot2精细化绘图——以实用商业化图表绘图为例发布时间:2022-07-18
下一篇:
R语言基础-统计函数发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap