1
我无法找到与我的问题类似的数据集,所以我将数据集Iris(R中的数据集)更改为看起来相似 - 足够接近!在一个聚合中嵌套一个SUM和一个平均值以获得每组的分数
data = iris
data$type = gl(5,30,150,labels=c("group1","group2","group3","group4","group5"))
data$ID = gl(30,5,150)
然后我用下面的代码
xtabs(Sepal.Length ~ Species + type, aggregate(Sepal.Length ~ Species + type + ID, data, mean))
导致
type
Species group1 group2 group3 group4 group5
setosa 30.16 19.90 0.00 0.00 0.00
versicolor 0.00 12.20 35.88 11.28 0.00
virginica 0.00 0.00 0.00 26.24 39.64
我的理解是,我的代码做的是对每个ID一起加入Sepal.Length然后取每种物种和种类的这些值的平均值。
这是正确的吗?
如果不是,我该如何得到这个?
此外,如果我的数据是这样的,每个ID有多种类型,我将如何得到这个? (无法弄清楚如何R中构造此)
其实,只是要清透
我要的是,总结在一起Sepal.Length每个ID代码,然后键入它会在所有这些的ID之和的平均值和后的平均Sepal.Length按类型和物种/
我用这个代码在我的实际数据与数字看起来像我预料到的!非常感谢你,这真是太棒了 –
不客气! 'data.table'是一个很好的包 – arvi1000