创建两个连续数的乘法向量的最快方法

时间:2013-04-19 05:15:51

标签: r

在R中为i * (i-1)i = 1创建元素i = n向量的最快方法是什么?

3 个答案:

答案 0 :(得分:7)

我确信使用Rcpp可能会有更快的解决方案,但为了简单起见使用基础R

n <- 5
x <- seq_len(n)
x[-1] * x[-n]
## [1]  2  6 12 20

答案 1 :(得分:5)

或许这样:

x = 1:10
x[-1] * x[-length(x)]

答案 2 :(得分:0)

有一个基本功能可以做到这一点:

cumprod(x)