我的数据框有以下几列:
df1 <- data.frame(A = c(1,2,4), B=c(1,3,1), C=c(1,1,3))
我有两个条件来获取列A的平均值。
条件1:当B为1时,我想要获取列A的平均值,即只有第一行和第二行将被平均。
条件2:当列A的值大于1但小于3时,我想要获取列B的平均值,即仅考虑第二行。
我知道可以使用过滤器将数据框裁剪为仅具有B = 1的列。但是,当我希望将列B视为1和3之间的范围时,我不确定如何做到这一点。
有没有更聪明的方法来获取列的平均值,而无需首先将数据框裁剪为较小的大小?
B == 1
,而不是在第1行和第2行中。这是一个打字错误吗? - Chase?cut
和?tapply
或?aggregate
等相关内容。 - Joris Meys