使用for循环简化公式

时间:2014-06-11 12:52:34

标签: r for-loop

您好我正在尝试执行以下操作: -

pvliab <- array(0,c(num_samples,num_time_periods,num_groups))
Ben <- array(0,c(num_samples,num_time_periods,num_groups))

v <- 0.04

pvliab[,1,] <- Ben[,1,]*v
pvliab[,2,] <- Ben[,1,]*v + Ben[,2,]*(v^2)
pvliab[,3,] <- Ben[,1,]*v + Ben[,2,]*(v^2) + Ben[,3,]*(v^3)
pvliab[,4,] <- Ben[,1,]*v + Ben[,2,]*(v^2) + Ben[,3,]*(v^3) + Ben[,4,]*(v^4)

等等

如何使用&#39; for&#39;?

简化它

1 个答案:

答案 0 :(得分:0)

慢速嵌套循环实现,但如果为j定义最大值(pvliab[,i,]中的索引,则可以对其进行矢量化和加速。

for (i in 1:n){
    c = 0
    for (j in 1:i){
        c = c + Ben[,j,]*(v^j)
    }
pvliab[,i,] <- c
}