4
我在计算一个结果变量的简单平均值,但只计算与另一个运行变量的最大实例关联的结果,并按照因子进行分组。通过一个因子计算平均值[r]
当然,计算的统计量可以替代任何其他函数,并且组内的评估可以是任何其他函数。
library(data.table) #1.9.5
dt <- data.table(name = rep(LETTERS[1:7], each = 3),
target = rep(c(0,1,2), 7),
filter = 1:21)
dt
## name target filter
## 1: A 0 1
## 2: A 1 2
## 3: A 2 3
## 4: B 0 4
## 5: B 1 5
## 6: B 2 6
## 7: C 0 7
有了这个框架,所需的输出应该返回平均值为目标,以满足正好2.
有点像标准:
dt[ , .(mFilter = which.max(filter),
target = target), by = name][ ,
mean(target), by = c("name", "mFilter")]
...似乎接近,但不是很正确。
该解决方案应该返回:
## name V1
## 1: A 2
## 2: B 2
## 3: ...
您的意思是您的标题栏'name','target'和'filter'而不是'组','target'和'cond'? –
你能真正显示你正在寻找的输出吗? –
对不起,名字是错误的。昨天晚上打了,今天发布了... – alex