【发布时间】:2016-02-18 07:38:40
【问题描述】:
这是我正在使用的代码。我想随机抽取数字,并且我想继续这样做,直到所有数字 1:18 都被抽取出来。我不想两次绘制相同的数字。
RandomArray <- sample(1:18, 6, replace=F)
RandomArray2 <- sample(1:18,6, replace = F)
RandomArray3 <- sample(1:18,6, replace = F)
RandomArray2 <- ifelse(RandomArray==RandomArray2,
sample(1:18,6,replace=F),RandomArray2)
RandomArray3 <- ifelse(RandomArray2==RandomArray3,
sample(1:18,6,replace=F),RandomArray3)
理想的输出是
RandomArray [1 2 3 4 5 6] RandomArray2 [7 8 9 10 11 12] RandomArray3 [13 14 15 16 17 18]
我也试过做
x <- 1:18
test2 <- sapply(x, function(x)
if (x == RandomArray) x-RandomArray else x)
但这也不对,因为我只想摆脱我已经绘制的数字。
感谢您的帮助。
【问题讨论】:
-
如果我想命名怎么办?
-
我不确定你所说的“做名字”是什么意思..?
-
对不起,不是名字而是字符
-
如果你从一个字符向量开始,比如
v = LETTERS(一个内置的等于A..Z),你可以sample(v),它也给出了一个随机排列。不知道你问的是不是这个。