楼主: maiachen
24341 19

[问答] 求教高手,R语言如何实现“相同编号行,每个变量求均值” [推广有奖]

11
hzx21th 发表于 2015-8-13 12:47:17
aggregate(.~ID,data=这个数据框名字,mean)
不好意思,漏了
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
molicoolgirl + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 1  热心指数 + 1   查看全部评分

12
maiachen 发表于 2015-8-13 17:19:08
hzx21th 发表于 2015-8-13 12:47
aggregate(.~ID,data=这个数据框名字,mean)
不好意思,漏了
      这个才是很高效的正解!👍
      我顺便学习了一下aggregate,它是首先就按数据进行分组(按行),然后对每一组数据进行函数统计,最后能把结果组合成一个表格。赞!
      aggregate(x,by,FUN),x就是你要算得数据集,by就是你要按照哪个分组,比如我这里面就是by=list(ID),FUN就是按照哪个函数计算,比如我要算的是平均值则,FUN=mean,看你写的,貌似"FUN="可以省略?
      就是还有一个疑问是,by=list(ID)和.~ID是一个意思吗?".~"是神马意思?

13
hzx21th 发表于 2015-8-13 21:59:19
fun可以省略
不是,y~x的意思是根据x,按(比如说mean)这个函数计算y,y~x的意思和by=list(x)意思一样
.这个点代表所有的变量,当然,除了y自己

14
maiachen 发表于 2015-8-13 22:05:57
hzx21th 发表于 2015-8-13 21:59
fun可以省略
不是,y~x的意思是根据x,按(比如说mean)这个函数计算y,y~x的意思和by=list(x)意思一样
. ...
好吧,其实还不是太明白,anyway,我用你教我的,在论坛上帮助另一个人解决了类似的问题,你的精神得到延续了哦,哈哈哈

15
cheriong 发表于 2017-3-16 10:11:02
aggregate(data,by=list(newname=data$ID),mean,na.rm=T)

16
xiaowangge 学生认证  发表于 2017-4-8 13:42:47
cheriong 发表于 2017-3-16 10:11
aggregate(data,by=list(newname=data$ID),mean,na.rm=T)
请问如果用aggregate这个函数时,出现错误如下:
Error in match.fun(FUN) : argument "FUN" is missing, with no default
怎么办

17
xiaowangge 学生认证  发表于 2017-4-8 13:43:11
maiachen 发表于 2015-8-13 22:05
好吧,其实还不是太明白,anyway,我用你教我的,在论坛上帮助另一个人解决了类似的问题,你的精神得到延 ...
请问如果用aggregate这个函数时,出现错误如下:
Error in match.fun(FUN) : argument "FUN" is missing, with no default
怎么办

18
云夕陌 发表于 2017-6-10 21:25:05
maiachen 发表于 2015-8-11 07:28
能具体一点不?自己研究了一下,貌似知道把数据拆开了,可是还是不知道如何实现我想要的效果呢,求解答呢[ ...
问一下你是怎么把数据拆开分组的呢?

19
zhaoss9211 发表于 2021-2-5 17:42:49
你好,请问楼主怎么解决的?

20
sstian 发表于 2023-6-1 11:49:27

  1. tapply(data$var1,INDEX=data$ID,FUN=mean)
复制代码
这个函数也可以,但是似乎只能一列一列去重复

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 06:16