完整案例的聚合工作

问题描述 投票:0回答:1

我想通过字符向量聚合多个列。不过,我认为基本 R 聚合适用于完整的情况,因此如果一个变量缺少求和变量,则它将被排除在所有总和之外。这很说明问题

v1 <- c(1, 1, 1, NA)
v2 <- c(2, 2, NA, 2)
v3 <- c("A", "B", "A", "B")

df < -data.frame(v1, v2, v3)

aggregate(.~v3, data=df, FUN=sum)

带输出

  v3 v1 v2
1  A  1  2
2  B  1  2

我期望的输出是

  v3 v1 v2
1  A  2  2
2  B  1  4

所以 v1 的总和为 3,v2 的总和为 6,就像它们在

df

中一样

是否可以对

aggregate
进行更改来产生我想要的输出?谢谢。

r aggregate
1个回答
0
投票

aggregate
有争论
na.action

na.action:一个函数,指示当数据被接收时应该发生什么 包含“NA”值。默认是忽略缺失值 在给定的变量中。

na.pass

一起使用时可以得到您期望的结果
aggregate(. ~ v3, df, \(x) sum(x, na.rm=T), na.action=na.pass)
  v3 v1 v2
1  A  2  2
2  B  1  4
© www.soinside.com 2019 - 2024. All rights reserved.