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

R 创建两个连续数字相乘向量的最快方法,r,R,对于R中的i=1到i=n,创建元素向量i*(i-1)的最快方法是什么?我相信使用Rcpp可能会有一个更快的解决方案,但为了简单起见,使用base R n <- 5 x <- seq_len(n) x[-1] * x[-n] ## [1] 2 6 12 20 n我相信使用Rcpp可能会有一个更快的解决方案,但为了简单起见,请使用base R n <- 5 x <- seq_len(n) x[-1] * x[-n] ## [1] 2 6 12 20 n也许像这样:

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

我相信使用
Rcpp
可能会有一个更快的解决方案,但为了简单起见,使用base R

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

n我相信使用
Rcpp
可能会有一个更快的解决方案,但为了简单起见,请使用base R

n <- 5
x <- seq_len(n)
x[-1] * x[-n]
## [1]  2  6 12 20
n也许像这样:

x = 1:10
x[-1] * x[-length(x)]
也许像这样:

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

已经有一个基本函数可以执行此操作:

cumprod(x)

已经有一个基本函数可以执行此操作:

cumprod(x)

事实上,通过检查,答案很简单。。。0(因为第一个例子的第二个条件是0。)事实上,如果通过检查很容易得到答案。。。0(因为第一个实例的第二项为0。)