我在R中有一个带变量的数据框,想要计算一个新的变量D.
变量A具有区域的ID,变量B具有不同的种类(1,2,3等),变量C具有不同的值,我现在想要计算新变量,其中D =物种1的变量C的平均值区域1(变量A)中的(变量B)等等,对于evry图中的每个不同物种,我需要这样一个新值。
我希望你能理解我的问题
答案 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))