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

问题描述 投票:1回答:2

如何生成每个数字为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
r seq
2个回答
1
投票

正如Max在评论中所说:

0.001*3^(0:10)

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


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
© www.soinside.com 2019 - 2024. All rights reserved.