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]
但这只是将所有数字折叠在一起,我不确定如何使用它来计算平均值。我已经尝试在这里搜索答案,但如果这仍然是一个重复的问题,我深表歉意。
解决方案
推荐阅读
- php - 用PHP读取XML文件,XML文件没有组织
- java - Java 8嵌套空检查列表中映射中的字符串
- android - 反应原生平面列表不显示输出
- r - Select a random row in case of ties in a grouped df
- python - 获取对本地 IP 地址的请求
- ios - 在 iOS 的谷歌登录应用程序中单击“取消”按钮后如何编写终止应用程序的代码
- magento-1.9 - 删除inode安全吗?
- postman - 如何通过 Postman 登录 auth0
- java - 如何将数据从表单发送到后端?[爪哇]
- reactjs - 反应获取 url 更改