如何解决找到两个向量的平均值之间特定差异的比例
我有一个关于我正在做的作业的问题。 问: “将种子设置为 1,然后使用 for 循环从 5 只老鼠中随机抽取 1,000 次样本。保存这些平均值。 这 1,000 个平均值中有多少比例 与 x 的平均值相差 1 克以上?"
我明白,基本上,我需要编写一个代码,说明:“空值”的百分比是“x”的平均值 + 或 - 1 克。鉴于本课程尚未向我们提供有关如何执行此操作的信息,但要求我们这样做,因此我不确定如何编写该内容。有关如何操作的任何帮助?
url <- "https://raw.githubusercontent.com/genomicsclass/dagdata/master/inst/extdata/femaleControlsPopulation.csv"
filename <- basename(url)
download(url,destfile=filename)
x <- unlist( read.csv(filename) )
set.seed(1)
n <- 1000
nulls<-vector("numeric",n)
for(i in 1:n){
control <- sample(x,5)
nulls[i] <-mean(control)
##I know my last line for this should be something like this
## mean(nulls "+ or - 1")> or < mean(x)
## not certain if they're asking for abs() to be involved.
## is the question asking only for those that are 1 gram MORE than the avg of x?
}
感谢您的帮助。 Z
解决方法
我确实认为绝对距离才是他们在这里所追求的。
R 中的向量很好,因为您可以在向量和标量之间执行算术运算,它将逐元素应用它,因此计算 nulls - mean(x)
的绝对值很容易。 abs
函数也将向量作为参数。
逻辑运算符(例如 <
和 >
)也可以以相同的方式使用,使得将结果与 1 进行比较同样简单。这将产生一个布尔值向量({{ 1}}/TRUE
) 其中 FALSE
表示该索引处的值确实大于 1,但布尔值实际上只是数字(1 或 0),因此您只需对该向量求和即可找到TRUE
元素的数量。
我不知道你的编程水平,但我希望这会有所帮助,而不会完全放弃解决方案(因为你说这是一个任务)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。