R抽奖功能:我的工作出了什么问题吗?

问题描述 投票:0回答:2

我这里有一个来自我的大学设置的在线测验的问题(已经提交,所以我只是想知道差异是什么) enter image description here

如您所见,有一个 set.seed,我已将 s 放入其中(按要求),只要种子相同,每次都会给我一个确定的、精确的数字字符串。

然而,提出问题的人已经用 s = 1 来运行它,但如下所示,我们得到了不同的结果: enter image description here

谁能告诉我为什么会这样?我对 Sample() 函数的搜索是否忽略了某些内容?任何有助于将来理解这一点的帮助将不胜感激。

r math probability
2个回答
0
投票

在英国彩票中,所有球被假定为具有相同的概率。正如其他人指出的那样,您指定不同的概率权重。球“1”的重量为 1,即不太可能被抽中,而数字越大的可能性越大,球“59”的重量最多为 59。 Dave2e 给出了正确的答案:由于您的作业要求您陈述概率,因此您不能依赖默认的

prob=NULL
,并且必须指定由 59 个相等数字组成的向量。我的 R 给出了您的“预期”结果:

> set.seed(1)
> sample(59, 6, prob=rep(1,59))
[1] 17 24 36 55 13 54

0
投票

sample(59, size = 6, replace = FALSE) 
会给你你想要的。阅读帮助文件中有关 prob= 选项的信息。仅当您想要不均匀的重量时才需要它。您当前的代码正在创建不均匀的权重,数字越大权重越高。 但这就是 @Dave2e 所说的让他们扯平的原因。

此外,如果您阅读 ?sample 您会发现,如果您希望采样的向量从 1 开始并连续到某个数字,您可以省略

1:
。做 1:59 没有坏处,但没有必要。

© www.soinside.com 2019 - 2024. All rights reserved.