0

我在 R 中有一个带有变量的数据框,并且想要计算一个新变量 D。

变量 A 具有一个区域的 ID,变量 B 具有不同的物种(1、2、3 等),变量 C 具有不同的值,我现在想计算一个新变量,其中 D = 物种 1 的变量 C 的平均值(变量 B )在区域 1(变量 A)等等,对于每个地块中的每个不同物种,我都需要这样一个新值。

我希望你能理解我的问题

4

1 回答 1

1

我认为这应该可以解决问题:

df$D <- ave(df$C, list(df$A, df$B))

如果你想忽略 NA 值df$c,你必须修改上面的如下:

df$D <- ave(df$C, list(df$A, df$B), FUN = function (x) mean(x, na.rm=T))
于 2012-07-06T10:34:05.123 回答