2
これは私のdata.tableの外観です。最後の列New_Amountが私の希望する列です。data.tableでの動的および条件付き列の更新
StartingAmount<-10
library(data.table)
dt <- fread('
Level Interest New_Amount
0 .5 10
1 .5 15
0 .5 15
0 .3 15
1 .2 18
0 .4 18
1 .5 27
')
私は$ 10で始まると言います。 Level = 1の行ごとに、追加した後に新しい金額を計算したいLevel = 1の2行目のNew_Amountは10+(10 * .5)= 15です。 Level = 1の5行目では、New_Amountは15+(15 * .2)= 18です。私はLevel = 0の行を無視して、最後の観測を前方に運びます。
これは私の試みです:
dt[, NewAmount:= ifelse(Level==1,StartingAmount+StartingAmount*Interest,0)]
dt[, NewAmount:= ifelse(Level==1, New_Amount + New_Amount*Interest , NA)]
あなたの答えをありがとう!その素晴らしい解決策。 – gibbz00
@ gibbz00ようこそ。それが役に立てば幸い! – Psidom