首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助理解R代码

需要帮助理解R代码
EN

Stack Overflow用户
提问于 2017-03-21 18:04:05
回答 1查看 103关注 0票数 0

我试图找出(a)少于62%或超过74%的样本均值是否在期望值的一个标准偏差内,或者(b)少于92%或超过98%的样本均值是否在期望值的两个标准偏差内。

假设我们已经设置了musigma,并且Finv是一个分位数函数。我得到了最后两行代码。有人能给我解释一下它们是什么意思吗?我应该得到什么样的输出?(目前我唯一的输出是0)

代码语言:javascript
复制
n.iterations <- 100000
n <- 10
xbar <- numeric(n.iterations)

for (i in 1:n.iterations){
  x <- sapply(runif(n), Finv)
   xbar[i] <- mean(x)
 }


mean((mu-1*sigma/sqrt(n) <= xbar) & (xbar <= mu+1*sigma/sqrt(n)))

mean((mu-2*sigma/sqrt(n) <= xbar) & (xbar <= mu+2*sigma/sqrt(n)))
EN

回答 1

Stack Overflow用户

发布于 2017-03-21 21:30:21

我对你的问题有点困惑,因为它问的是“标准差内”的数据,但也问到了分位数--这似乎很奇怪……这是为什么

考虑由以下代码生成的上面的图片:

代码语言:javascript
复制
mymean <- 5
mysd   <- 2

curve(dnorm(x, mean = mymean, sd = mysd), from = -2, to = 12)
abline(v = mymean, col = "red", lwd = 2)

xtimessd = 1
abline(v = c(mymean - mysd*xtimessd, mymean + mysd*xtimessd), col = "blue", lwd = 1, lty = 2)
xtimessd = 2
abline(v = c(mymean - mysd*xtimessd, mymean + mysd*xtimessd), col = "cyan", lwd = 1, lty = 2)
xtimessd = 3
abline(v = c(mymean - mysd*xtimessd, mymean + mysd*xtimessd), col = "green", lwd = 1, lty = 2)

# 62th and 74th quantile
targetQunatiles <- qnorm(c(0.62, 0.75), mean = mymean, sd = mysd)
abline(v = targetQunatiles, col = "orange", lwd = 2, lty = 1)

给定总体均值和标准差,图中显示了正态分布的概率密度函数。

虚线是“sd内的xtimes”值。(真的没有什么神奇之处,但它与68–95–99.7 rule有关)。

另一方面,如果我们查看分位数函数,即在您的示例中,我们查看的值是62%和74%,这可以由qnorm计算。

正如您所看到的,根据您的问题“少于样本均值的62%或高于样本均值的74%”,您将排除5.6109626.348980之间的值。

所以,从你的问题中,我不知道你在问“在sd内”和“寻找分位数”之间的关系,因为这两者是相互独立的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42923841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档