相关疑难解决方法(0)

矢量化依赖于先前元素的产品计算?

我正在尝试加速/矢量化时间序列中的一些计算.我可以在for循环中矢量化计算,这可能取决于早期迭代的结果吗?例如:

z <- c(1,1,0,0,0,0)
zi <- 2:6
for  (i in zi) {z[i] <- ifelse (z[i-1]== 1, 1, 0) }
Run Code Online (Sandbox Code Playgroud)

使用前面步骤中更新的z [i]值:

> z
[1] 1 1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)

在我的努力中矢量化这个

z <- c(1,1,0,0,0,0)
z[zi] <- ifelse( z[zi-1] == 1, 1, 0)
Run Code Online (Sandbox Code Playgroud)

逐个元素的操作不使用操作中更新的结果:

> z
[1] 1 1 1 0 0 0
Run Code Online (Sandbox Code Playgroud)

因此,这种向量化操作以"并行"而非迭代方式运行.有没有办法我可以写/向量化这个来获得for循环的结果?

product r vectorization

20
推荐指数
3
解决办法
3003
查看次数

如何在 R 中模拟增长率数据向量

假设我知道每月增长率是 5%,并且我知道 2018 年 1 月的基数是 1000。如何创建一个长度为 12 的向量,它显示 2018 年的每月总数?例如,向量中的前四个元素将是:

c(1000, 1000*1.05, 1000*1.05^2, 1000*1.05^3)

有没有一个功能可以让我轻松地做到这一点?我正在考虑以rep()某种方式使用该功能。

r vector multiplication simulate

1
推荐指数
1
解决办法
400
查看次数

标签 统计

r ×2

multiplication ×1

product ×1

simulate ×1

vector ×1

vectorization ×1