我正在寻找乐透功能,这意味着所绘制的数字不会被重复。如果我尝试
y <- replicate(39,sample(1:39,1,replace=FALSE))
或
y <- replicate(39,sample(1:39,1,replace=TRUE))
绘制的数字正在重复。 我该如何防止这种情况?
答案 0 :(得分:1)
试试sample(1:39, 39, replace = FALSE)
。检查?sample
。
答案 1 :(得分:1)
请勿使用replicate
。要获得39次无需重复的绘制,请使用
sample(1:39, size = 39, replace = FALSE)
(或使用默认值,
sample(39)
)。
答案 2 :(得分:1)
从内到外工作。
sample(1:39, 1, replace = FALSE)
随机统一从1:39
中选取一个数字。 replace = FALSE
没有任何意义,因为你只是画了一个数字。
现在
replicate(39, sample(1:39, 1, replace = FALSE))
只复制39次。所以没有理由期望没有重复。
你没有确切地说出你要模拟的乐透游戏。但通常的情况类似于Lotto 6/39
游戏,其中6个数字来自1:39
。要做到这一点,请使用:
样本(1:39,6,替换=假)
如果你想模拟很多次播放,比如1000次播放,那就是当你使用replicate
时:
replicate(1000, sample(1:39, 6, replace = FALSE)