随机数列表,只有两个数字

时间:2016-03-07 16:06:32

标签: r random

这很简单,但我一直卡住了!我试图创建一个R为1000的零列表,其中数字1.5以随机间隔添加20次,看起来像:

0.000
0.000
1.500
0.000
1.500
0.000
0.000

但我坚持如何将它保持为两个数字?我一直在使用seq命令,但无法正确获取参数......

3 个答案:

答案 0 :(得分:5)

对指数进行抽样:

x <- numeric(1000) #adjust to 1020 if you really need 1000 zeros in the result
x[sample(length(x), 20)] <- 1.5

答案 1 :(得分:1)

gcf

在我上面的解决方案中,当你说“添加”时,我认为你的意思是“插入”,因此给出一个长度为1020的向量。如果你的意思是“添加”(另外还有零),你可以使用:

sample(c(double(1000L),rep(1.5,20L)));

答案 2 :(得分:0)

怎么样

x <- rep(0, 1000)
positions <- round(runif(20, 1, 1000))
x[positions] <- 1.5

第一行生成一个零向量,然后用1.5覆盖二十个随机位置。