1
下面是一个例子数据帧:如何识别和汇总来自数据框中匹配组的数据集?
set.seed(0)
x1 <- c(1, 1, 1, 1, 1, 2, 2, 2, 2)
x2 <- c(1, 1, 0, 0, 0, 1, 1, 1, 1)
x3 <- c(1, 1, 2, 2, 4, 1, 1, 2, 1)
n <- c(1, 1, 1, 5, 5, 1, 1, 1, 1)
y <- rnorm(9)
mydf <- data.frame(x1, x2, x3, n, y)
我想做的是
- 识别与行n = 1且共享的(X1,X2,X3)
- 相同的值为每个子集返回一行,其中y = mean(y)和n = length(y)
- 保持其他行相同。
例如,新的数据帧将
x1 <- c(1, 1, 1, 1, 2, 2)
x2 <- c(1, 0, 0, 0, 1, 1)
x3 <- c(1, 2, 2, 4, 1, 2)
n <- c(2, 1, 5, 5, 3, 1)
y <- c(mean(y[1:2]), y[3], y[4], y[5], mean(y[c(6:7,9)]), y[8])
newdf <- data.frame(x1, x2, x3, n, y)
我可以用条件和循环想出解决办法,但我更愿意学习更优雅的方式来做到这一点。
工作很好。谢谢。对于模棱两可感到抱歉。 – Abe