R 如何生成被常数除的数字序列?

R 如何生成被常数除的数字序列?,r,seq,R,Seq,我想在R中生成一个序列,例如,6个数字,其中每个数字是前一个数字除以2,例如4,2,1,0.5,0.25,0.125 我试过了 序号4、6、0.5 但这等于0.5,而不是乘以。有没有一种方法可以使用seq命令实现这一点 谢谢 你可以这样做 n <- 6 4/2^(0:n) #[1] 4.0000 2.0000 1.0000 0.5000 0.2500 0.1250 0.0625 这类似于purrr::accumulate 你可以 n <- 6 4/2^(0:n) #[1] 4.00

我想在R中生成一个序列,例如,6个数字,其中每个数字是前一个数字除以2,例如4,2,1,0.5,0.25,0.125

我试过了 序号4、6、0.5 但这等于0.5,而不是乘以。有没有一种方法可以使用seq命令实现这一点

谢谢

你可以这样做

n <- 6
4/2^(0:n)
#[1] 4.0000 2.0000 1.0000 0.5000 0.2500 0.1250 0.0625
这类似于purrr::accumulate

你可以

n <- 6
4/2^(0:n)
#[1] 4.0000 2.0000 1.0000 0.5000 0.2500 0.1250 0.0625
这类似于purrr::accumulate

我们可以按下面的步骤做

4/2^(seq_len(6) - 1)
#[1] 4.000 2.000 1.000 0.500 0.250 0.125
或与seq

或者使用for循环

我们可以按下面的步骤做

4/2^(seq_len(6) - 1)
#[1] 4.000 2.000 1.000 0.500 0.250 0.125
或与seq

或者使用for循环

4/2^(seq(0, 5, by = 1))
v1 <- 4
for(i in 2:6) v1 <- c(v1, v1[i-1]/2)
v1
#[1] 4.000 2.000 1.000 0.500 0.250 0.125