2016-05-10 10 views
0

マイDFにより次の乗算結果Z 1変数「戻る」長さ= 131で構成され、そしてIは、別のオブジェクト「TP」R:カラムYに1行を掛けた値をX、2行目の列Y

TP <- 87 
print(DF) 
Return 
0.0904 
0.0312 
0.0005 
-0.0225 
.... 
を有します

私は、次の操作を行うための正しいコードを見つけるのに苦労しています:

create a new column vector "NewVec" where: 
R1= (0.0904+1)*TP 
R2= (0.0312+1)*R1 
R3= (0.0005+1)*R3 

は現在、私はTP

NewVec <- (Return+1)*TP 
によって全体のリターンベクトルを乗算するだけで管理しています

これは明らかに望ましい結果をもたらさない。

任意の助けをいただければ幸いですが、あなたが

答えて

2

ここでは暗闇の中でショットです感謝します。

newvec<-matrix(nrow=length(Return)) 
for(i in 1:length(Return)){ 
    if(i==1)newvec[i,]<-(Return[i]+1)*TP 
    else newvec[i,]<-(Return[i]+1)*newvec[i-1,] 
} 
+0

いいね。私は、より短くベクトル化された解決策を見つけることを望んでいましたが、これはトリックを行うようです。おそらく、 'Return'をOPに従ったdata.frameの名前である' DF'で置き換えることができます。 – RHertel

関連する問題