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