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