生成每个数字是其前一个数字的 n 倍的序列

Generating sequence which each number is n times its predecessor

我如何生成一个序列,其中每个数字都是 n * previous_number

例如,在一个序列中:

0.001 0.003 0.009 0.027

每个数字都是其前一个数字的 3 倍。我试图使用 seq 像:

seq(from = 0.001, by = 3, length.out = 10)

但它打印的输出如下:

0.001  3.001  6.001  9.001 12.001 15.001 18.001 21.001 24.001 27.001

正如 Max 在评论中所说:

0.001*3^(0:10)

一个体面的代码高尔夫解决方案。

你可以写一个小函数:

seq_func <- function(x, m, len = 10) {
  return(x*m^(0:len))
}

seq_func(0.001, 3)

哪个会产生

[1]  0.001  0.003  0.009  0.027  0.081  0.243  0.729  2.187  6.561 19.683