按行名

时间:2018-05-16 12:55:54

标签: r

我有一个数据框df,其中包含在这些地块上找到的物种的地图名称和值:

df=data.frame(plot=c(1000, 1000, 1000, 1005, 1005, 1005, 1009, 1009, 1009), speciesA=c(5, 0.5, 10, 7, 8, 45, 0.2, 3, 17), speciesB = c(1, 11, 46, 98, 0.2, 14, 40, 37, 22), speciesC = c(0.7, 72, 17, 0, 14, 8, 0, 9, 0.9))

现在我想找到每个地块的平均值,得到一个数据帧df2,如:

df2=data.frame(plot=c(1000,1005,1009), speciesA=c(5.166, 20, 20.2), speciesB=c(19.333, 37.4, 33), speciesC=c(89.7, 7.333, 3.3))

我试过了:

df2 <- df %>% group_by(plot) %>% summarise_each(funs(mean))

这使程序完全没有响应。而且我知道我可以使用以下方式折叠行:

df2 <- df[, lapply(.SD, paste0, collapse=""), by=plot]

但这只是将所有数字合并在一起,我不确定如何使用它来计算均值。我已经尝试过在这里寻找答案,但如果这仍然是一个重复的问题我会道歉。

0 个答案:

没有答案