使用现有数据帧的条件计算新变量

时间:2012-07-06 10:29:10

标签: r

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

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

我希望你能理解我的问题

1 个答案:

答案 0 :(得分:1)

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

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

如果您希望忽略df$c中的NA值,则必须按如下方式修改上述内容:

df$D <- ave(df$C, list(df$A, df$B), FUN = function (x) mean(x, na.rm=T))