生成每个数字是其前一个数字的 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
我如何生成一个序列,其中每个数字都是 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