【问题标题】:Null distribution related question (edited)空分布相关问题(已编辑)
【发布时间】:2020-12-05 04:28:00
【问题描述】:

请帮忙解答以下问题。

实验涉及老鼠;喂他们两种饮食:高脂肪饮食和正常饮食(对照组)。下面的数据包含接受正常饮食的所有雌性小鼠(种群)的体重。可以从 GitHub 下载数据,在 R 中运行以下命令行:

library(downloader)

url <- "https://raw.githubusercontent.com/genomicsclass/dagdata/master/inst/extdata/femaleControlsPopulation.csv"
filename <- basename(url)
download(url, destfile = filename)
x <- unlist(read.csv(filename))

这里的 x 代表整个人口的权重。

所以,问题是:

将种子设置为 1,然后使用 for 循环对 5 只小鼠进行 1,000(一千)次随机抽样。保存平均值。

在这 1000 个平均值中,有多少比例距离平均值 x 超过 1 克?

以下是我尝试使用“sum”和“mean()”函数的结果:

set.seed(1)

n <- 1000
sample1 <- vector("numeric", n)  
for (i in 1: n) {
    sample1[i] <- mean (sample (x, 5))
  }

sum(sample1 > mean(x) / n)
mean(sample1 > mean(x)+1)

所以这一步是我需要帮助的地方……因为我不确定如何处理问题中的“与 x 的平均值相差 1 克”语句。

提前感谢您的帮助。

【问题讨论】:

    标签: r null distribution


    【解决方案1】:

    看起来像作业,所以我会给出一些提示:

    在您的第二个代码块中,最后两条语句似乎关闭了。

    n <- 1000
    sample1 <- vector("numeric", n)  
    for (i in 1: n) {
        sample1[i] <- mean (sample (x, 5))
      }
    
    sum(sample1 > mean(x) / n)  #<- why dividing by n here?
    mean(sample1 > mean(x)+1)   #<- what are you trying to do here?
    

    为什么要将整个样本的平均值除以 n? 对 mean 的调用似乎是有道理的。

    我认为您不需要第二个语句 mean(sample1 &gt; mean(x)+1) 来获得答案。

    您需要在sum() 语句中使用一个不等式,该不等式对于mean(x) - 1mean(x) + 1 范围之外的每个值都为TRUE。或者,小于mean(x) -1 的数字加上大于mean(x) + 1 的数字。

    这有帮助吗?

    【讨论】:

      【解决方案2】:

      在循环部分你做对了,对于##这 1000 个平均值中有多少比例距离平均值 x 超过 1 克?##sum(abs(null)-mean(population)&gt;1)/n

      【讨论】:

      • 抱歉我把abs函数放错地方了,我想你很快就能搞定的
      猜你喜欢
      • 2011-03-06
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-01
      • 1970-01-01
      相关资源
      最近更新 更多