找回密码
 注册
查看: 3255|回复: 6

求助。。假设一个数据集有多个指标,怎么对这些指标分别取平均值,并得到新的数据集啊

[复制链接]
发表于 2012-10-19 19:11:52 | 显示全部楼层 |阅读模式
假设有一个数据集如下所示:
1  23 34 45
1  34 45 56
1  35 54 56
2  45 56 78
3  45 67 89
3  45 78 89
4  67 89 79
……
……
怎么对上述数据集的第一列相同的行相加,得到新的数据集啊?
求助
求助

回复

使用道具 举报

发表于 2012-10-22 11:29:48 | 显示全部楼层
用 tapply
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-24 21:51:32 | 显示全部楼层
我知道用tapply,但是具体的程序我不会编,能不能帮忙编个例子呢?
回复 支持 反对

使用道具 举报

发表于 2012-10-26 15:41:12 | 显示全部楼层
明白你的意思了,aggregate()可以满足你的要求。。。
回复 支持 反对

使用道具 举报

发表于 2012-10-28 20:11:15 | 显示全部楼层
t<-table(rownames(matrix))
newmatrix<-matrix(0,length(t),ncol(matrix))
for(i in 1:length(t))
{index<-which(rownames(matrix) %in% names(t)[i])
if(length(index)==1) newmatrix[i,]<-matrix[index,]   
else newmatrix[i,]<-colMeans(matrix[index,])}
###matrix为你的数据集,将数据第一列作为matrix的行名,新的数据集存放在newmatrix中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-11 18:13:27 | 显示全部楼层
鸡蛋 发表于 2012-10-28 20:11
t

谢谢你啊,非常感谢
回复 支持 反对

使用道具 举报

发表于 2012-11-12 08:14:11 | 显示全部楼层
很多高手指点啊
支持{:soso_e179:}
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 18:20 , Processed in 0.022747 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表