我不熟悉使用 reshape2 及其功能。我有一个数据表 d,我正在尝试汇总有关年站物种计数的数据,以获得每年所有站的每个物种的平均计数:
d<-data.table(station=c(1,1,4,3),year=c(2000,2000,2001,2000),
species=c("cat","dog","dog","owl"),abundance=c(10,20,30,10))
d
> station year species abundance
1: 1 2000 cat 10
2: 1 2000 dog 20
3: 4 2001 dog 30
4: 3 2000 owl 10
我使用 dcast 来聚合丰度,但我似乎得到的是一个忽略生成的 NaN 结果的总和,而不是平均值:
dm<-dcast(d, year~ species,value.var="abundance",fun.aggregate = mean)
dm
> year cat dog owl
1: 2000 10 20 10
2: 2001 NaN 30 NaN
我想要的是:
> year cat dog owl
1: 2000 3.33 6.67 3.33
2: 2001 0 30 0
使用参数 fill=0 只会导致 NaN 被 0 替换。
我会非常感谢任何建议。我已阅读文档并寻找教程,但无法解决此问题。