根拠では、次のデータテーブルである:R:累積加重平均data.table
library(data.table)
dt <- data.table(Position = 1:3, Price = c(50, 45, 40), Volume = c(10, 10, 10))
dt
Position Price Volume
1: 1 50 10
2: 2 45 10
3: 3 40 10
今私は、アカウントにすべてのポジション"<="
現在位置を取って、各位置の加重平均値を計算したいと思います。結果は次のようになります:
dt[, Vwa := c(50, 47.5, 45)]
dt
Position Price Volume Vwa
1: 1 50 10 50.0
2: 2 45 10 47.5
3: 3 40 10 45.0
これを効率的に達成する方法はありますか?
'dt [、Vwa:= cumsum(Price)/(1:.N)]'? –