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