生成的序列是其前身的n倍

时间:2018-04-03 19:23:11

标签: r

如何生成每个数字为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

2 个答案:

答案 0 :(得分:1)

Max在评论中说:

0.001*3^(0:10)

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

答案 1 :(得分:1)

你可以写一点功能:

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