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

R语言之分组数据处理

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

在我们日常处理数据过程中,经常需要对分类或者分组数据进行相对应的函数处理,以下是个人觉得比较好用的几个函数。

#分组变量的处理方法

#tapply()函数

#by()

#aggregate()

#plyr包
#table()


第一步:创建数据常见数据形式为matrix,data.frame

sex<-c("female","man","female","man","man","man")
diploma<-c("本科","硕士","本科","本科","本科","硕士")
salary<-c(5000,13000,6000,4500,5500,14000)
data.2<-data.frame(sex,diploma,salary)

数据内容如下


我们如果想要了解不同性别的收入,或者不同文凭的收入,亦或者根据两个分组变量来查看具体的收入,以下函数相信可以帮你。

#tapply()

通过?tapply初步了解该函数的具体有哪些参数,以及参数具体内容


可知x为我们要进行处理的变量,而INDEX是我们要根据那个变量分类,FUN就是对x进行何种处理,例如求和sum,求均值mean等

tapply(data.2$salary,data.2$sex,sum)

tapply(data.2$salary,list(data.2$sex,data.2$diploma),mean)

输出结果如下,即salary为x,要进行处理的变量,sex即为,根据性别差异统计收入


当,依据分组变量超过一,可以用一个列表list表示,不可以用连接符号c。

#by(),按照学习tapply的思路,by的参数以及用法雷同。
by(data.2$salary,data.2$sex,sum)

by(data.2$salary,list(data.2$sex,data.2$diploma),sum)

输出结果:



可以看到只是在输出结果的形式有差异。

#aggregate()函数


对于aggregate()函数的参数表示方法,和用lm函数求回归的输入一样,即如salary~sex+diploma

salary为要进行处理的变量,而sex,diploma为分组依据变量,用~连接。

#table()

table函数可以生成2*2的列联表,也就是对数据进行分类汇总。


以后课余时间会继续根据大三课程更新,有时间序列分析,多元统计分析,统计计算,应用回归,以及数据处理,画图的一些简单介绍,本科菜鸟,如有问题,望见谅。以上内容参考网上已有资料。




鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
R语言——绘制半圆形图发布时间:2022-07-18
下一篇:
R语言可视化学习笔记之gganimate包发布时间: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