【发布时间】:2022-01-23 19:56:22
【问题描述】:
我有这个数据框
x <- data.frame(
matrix(
c(letters[1:3], c("x", "x", "y") ,
sample(c(rep(1,100),0), size = 1),
sample(c(rep(1,100),0), size = 1),
sample(c(rep(1,100),0), size = 1)), ncol = 3)
)
我想乘以 X 和 Y 组。
我的建议
agg <- aggregate(x$X3,
by = list(x$X2),
FUN = *)
我想用 sum, mean 字节之类的东西来相乘
【问题讨论】:
-
*只乘以 2 个值。您正在寻找 产品 的FUN = prod。 -
虽然在这里不是一个因素,即使
*是在这里使用的正确函数(即,每个组/数据两行),那么您仍然需要将其包装在反引号中,这对所有人都是必要的R中的中缀运算符。您需要执行FUN = `*`(尽管由于GregorThomas在他们的答案中突出显示并修复了原因,这仍然不起作用)。
标签: r aggregate-functions multiplication