私は財務データセットのいくつかの要約に取り組んでおり、特定の基準に関して要約をソートしたいと考えていますが、残りの要約値を連続して失うことはありません。簡単な例を次に示します。
set.seed(1)
tseq <- seq(Sys.time(), length.out = 36, by = "mins")
dt <- data.table(TM_STMP = tseq, COMP = rep(c(rep("A", 4), rep("B", 4), rep("C", 4)), 3), SEC = rep(letters[1:12],3), VOL = rpois(36, 3e+6))
dt2 <- dt[, list(SUM = sum(VOL), MEAN = mean(VOL)), by = list(COMP, SEC)]
dt2
COMP SEC SUM MEAN
1: A a 9000329 3000110
2: A b 9001274 3000425
3: A c 9003505 3001168
4: A d 9002138 3000713
ここで、最大の VOL で COMP ごとの SEC を取得したいと思います。
dt3 <- dt2[, list(SUM = max(SUM)), by = list(COMP)]
dt3
COMP SUM
1: A 9003505
2: B 9002888
3: C 9005042
これは私が望むものを与えますが、特定の行 (SEC と MEAN) に他の値を保持して、次のようにします (手動で作成):
COMP SUM SEC MEAN
1: A 9003505 c 3001168
2: B 9002888 f 3000963
3: C 9005042 k 3001681
どうすればこれを達成できますか?