R:将值X乘以列Y中的第一行,然后将结果Z乘以第二行列Y

R:将值X乘以列Y中的第一行,然后将结果Z乘以第二行列Y,r,loops,matrix,R,Loops,Matrix,我的DF由1个变量“Return”length=131组成,我有单独的对象“TP” 目前,我只设法将整个返回向量乘以TP NewVec <- (Return+1)*TP NewVec这是一个在黑暗中拍摄的镜头 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]

我的DF由1个变量“Return”length=131组成,我有单独的对象“TP”

目前,我只设法将整个返回向量乘以TP

NewVec <- (Return+1)*TP

NewVec这是一个在黑暗中拍摄的镜头

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,]
}

newvec这是一个在黑暗中拍摄的镜头

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,]
}

newvec看起来不错。我希望找到一个更短的矢量化解决方案,但这似乎奏效了。也许您可以用
DF
替换
Return
,DF是data.frame的名称,根据OP.看起来不错。我希望找到一个更短的矢量化解决方案,但这似乎奏效了。也许您可以用
DF
替换
Return
,DF是根据OP的data.frame的名称。
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,]
}