我有這樣計算累積平均值,其條件
a <- data.table(
A = c(1:6),
B = c(1,2,2,3,4,2),
C = c("t","t","f","t","f","t")
)
A B C
1: 1 1 t
2: 2 2 t
3: 3 2 f
4: 4 3 t
5: 5 4 f
6: 6 2 t
一個data.table在每一行,我要計算所有以前行的平均值,但條件是它會排除一行C == f
。 結果應該是
A B C D E
1: 1 1 t NA NA
2: 2 2 t 1 1
3: 3 2 f 1.5 1.5
4: 4 3 t 1.5 1.5
5: 5 4 f 3.5 3
6: 6 2 t 3.5 3
我該怎麼做?
那麼你的預期結果是什麼? – Sotos
@Jimbou這是一個data.table –
您的預期輸出沒有意義。請添加您使用的公式。爲什麼行5:6的值是3.5和3?根據你的描述,它應該是2.333和2 –