set.seed在此蒙特卡罗模拟中的作用(R)
关于这段代码是如何工作的,我有一些问题。这是一个统计和编码问题,所以请让我知道我是否应该把它带到堆栈交换的统计部分。我知道要写什么代码才能得到答案,但返回的代码对我来说没有意义。问题是 问:假设你正在测试20种饮食对小鼠体重的影响。对于20种饮食中的每一种,你用10只对照组小鼠和10只治疗组小鼠进行实验。假设饮食对所有20种饮食均无影响的无效假设成立,并且小鼠体重服从平均30克的正态分布,标准偏差为2克,对其中一项研究进行蒙特卡罗模拟:set.seed在此蒙特卡罗模拟中的作用(R),r,montecarlo,R,Montecarlo,关于这段代码是如何工作的,我有一些问题。这是一个统计和编码问题,所以请让我知道我是否应该把它带到堆栈交换的统计部分。我知道要写什么代码才能得到答案,但返回的代码对我来说没有意义。问题是 问:假设你正在测试20种饮食对小鼠体重的影响。对于20种饮食中的每一种,你用10只对照组小鼠和10只治疗组小鼠进行实验。假设饮食对所有20种饮食均无影响的无效假设成立,并且小鼠体重服从平均30克的正态分布,标准偏差为2克,对其中一项研究进行蒙特卡罗模拟: cases = rnorm(10,30,2) contro
cases = rnorm(10,30,2)
controls = rnorm(10,30,2)
t.test(cases,controls)
现在,模拟所有20种饮食的实验结果,进行蒙特卡罗模拟。如果将seed设置为100,请设置.seed(100),并在调用中使用与上面相同的代码来复制有多少p值(数字而非比例)低于0.05?”
这是我写的代码
set.seed(100)
pvals <- replicate(20,{
cases = rnorm(10,30,2)
controls = rnorm(10,30,2)
t.test(cases,controls)$p.val
})
sum(pvals<.05)
set.seed(100)
pvals会多次重新运行代码,每次都不会将种子重置为100,您应该会看到不同的答案,最重要的是,每次都会看到不同的pvals
值。在10次左右的运行中,我会看到一些值0、1和2。它不应该总是1,除非您将种子设置为生成完全相同的随机样本集每次都是。一旦你尝试了,就决定你还需要帮助的问题的哪一部分,并对其进行编辑以反映这一点。set.seed(100)
确保其他人可以重现相同的模拟结果。