- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
R初学者指南2——实例应用
示例应用一(视频教程):模拟产生统计专业同学的名单(学号区分),记录数学分析、线性代数、概率统计三课成绩
第一步:录入信息
num=seq10378100)
num //产生100个元素
x1=round(runif(100,min=80,max=100))
//用runif产生100个均匀分布(取到每一个数值的可能性是相同的)的随机数(带小数),round四舍五入,从而组成向量x1
x2=round(rnorm(100,mean=80,sd=7)) // rnorm产生100个正态分布的随机数,均值是80,标准差是7
x3=round(rnorm(100,mean=83,sd=18)) //同理产生x3,输出结果后发现有些超过了100分(因为正态分布没有上下限的概念,只有均值和标准差)
x3[which(x3100)]=100 //把超过100分的人的成绩变成100,which找出超过100分的人的下标,再用下标定位到相关元素并将其改为100
第二步:合成数据框或用write.table保存到硬盘中
x=data.frame(num,x1,x2,x3) //用data.frame将4个变量合成一个数据框x中
第三步:进行计算
使用mean(),colMeans(),apply()—下章介绍
mean(x)
[1] NA
警告信息:
In mean.default(x) : 参数不是数值也不是逻辑值:回覆NA
//这里不能直接使用mean()函数,只能对某一变量进行求平均值,如mean(x1),mean(x2)等
colMeans(x) //对列进行求均值,colMeans中的M必须大写
num x1 x2 x3 50 90.43 80.39 81.66
colMeans(x)[c(x1,x2,x3)] //指定显示某列的均值
x1 x2 x3
90.43 80.39 81.66
apply(x,2,mean) //apply是对x这个数据框在行(或列)方向上做指定操作,1代表行方向,2代表列方向,综上所述,就是在x这个数据框中在列的方向上求平均值
num x1 x2 x3 50 90.43 80.39 81.66
第四步:使用apply求各科最高最低分
apply(x,2,max)
num x1 x2 x3 100 99 100
apply(x,2,min)
num x1 x2 x3 80 65 46
第五步:使用apply求出每人的总分
apply(x[c(x1,x2,x3)],1,sum) //在行的方向上求和,注意跟colMeans()的异同
第六步:which.max找出总分最高的同学(找下标)
which.max(apply(x[c(x1,x2,x3)],1,sum)) //求出总分最高的那个人在向量中的下标(第74个)
[1] 74
x$num[which.max(apply(x[c(x1,x2,x3)],1,sum))] //把下标带回到x,x$num代表在数据框x中取num列,再取下标为72的元素,就能确定其学号是多少
[1]第七步:对x1进行直方图分析-绘制直方图函数hist()
hist(x$x1)
第八步:探索各科成绩的关联关系-散点图绘制函数plot
plot(x1,x2)
第九步:列联表分析-列联函数table(),柱状图绘制函数barplot()
table(x$x1) //统计每个分数有多少人(众数)
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
2 5 5 5 3 6 4 7 3 5 5 3 6 8 2 4 4 5 11
99 100
5 2
barplot(table(x$x1))
饼图:
pie(table(x$x1))
箱线图:
箱子的上下横线为样本的25%和75%分位数,中间的横线为样本的中位数
上下延伸的直线称为尾线,尾线的尽头为最高值和最低值
boxpl
文档评论(0)