新手来了。
我有一个列为“年份”(2014-2019年)、“站点”(7个站点)、“样带”(上游、下游)的数据集,以及大约50个包含个体计数的昆虫物种栏。我想平均值的上下游样本每年和网站。最终目标是建立一个列为“年份”、“站点”的数据集,以及包含上下游计数平均值的50个昆虫物种列。我曾尝试过几种方法,但都没有成功。下面的代码是我最后一次尝试。
INS_YxS<-aggregate(INV.MEANS[5:54], INV.MEANS[1:3], mean)此数据集中的第1-4列为X、年份、站点、样带.5~54种昆虫。
最终的数据集似乎有正确的列,但它似乎只是删除了横断面列,而没有平均的上下游物种计数。有人知道如何完成我想做的事吗?
下面是我的数据的可视化表示(表1),以及我希望它看起来像什么(表2):https://i.stack.imgur.com/WkX4e.png
请注意,在2中没有横断面列,而昆虫列中的新值是每年站点上下游样带行的平均值,导致行数减少。
抱歉,我想找个最好的方法来解释我想做什么.
我知道答案就在外面,取决于我问正确的问题.
谢谢!
发布于 2022-03-20 21:54:27
考虑一下带有点表示法的公式版本:
INSECTS_MEANS <- aggregate(
. ~ YEAR + SITE + TRANSECT,
data=INSECTS_COUNTS,
FUN=mean, na.rm=TRUE,
na.action=na.omit
)否则,需要将列表传递到by参数中:
INSECTS_MEANS <- aggregate(
x = INSECTS_COUNTS[5:ncol(INSECTS_COUNTS)],
by = list(
YEAR = INSECTS_COUNTS$YEAR,
SITE = INSECTS_COUNTS$SITE,
TRANSECT = INSECTS_COUNTS$TRANSECT
),
FUN=mean, na.rm=TRUE,
na.action=na.omit
)https://stackoverflow.com/questions/71550721
复制相似问题