这很简单,但我一直卡住了!我试图创建一个R为1000的零列表,其中数字1.5以随机间隔添加20次,看起来像:
0.000
0.000
1.500
0.000
1.500
0.000
0.000
但我坚持如何将它保持为两个数字?我一直在使用seq命令,但无法正确获取参数......
答案 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覆盖二十个随机位置。