pth标准正态分布的分位数 - R.

时间:2014-02-25 00:12:21

标签: r statistics quantile

我正在从一本名为“使用R发现统计数据”的书中学习统计数据和R ...尽管它提供了非常丰富的信息,但它似乎跳过了区域,即使它表明不需要先前的统计知识或R。所以问题是:

如何使用Dichotomy(或分为两半)方法在R中计算标准正态分布的第p个分位数? (并假设不使用qnorm())。那就是:

    pnorm(x)   = p
    pnorm(x)-p = 0
    f (x)      = 0

更新

二分法是一种采用间隔[a,b]的方法,它取值不同 在区间的终点处签名,并在x内有一个根[a,b]。然后你找到F(x1)的一半,如果f(x1) != 0它会给你[a,x1][x1,b] ...其中序列x1, x2,...,收敛到0 }。

1 个答案:

答案 0 :(得分:1)

笨拙,但这很有效:

tolerance <- 1e-6
interval <- c(-1000,1000)
quantile <- 0.2

while(interval[2]-interval[1] > tolerance) {
  cat('current interval: ',interval,'\n')
  interval.left <- c(interval[1],mean(interval))
  interval.right <- c(mean(interval),interval[2])
  if(sum(sign(pnorm(interval.left)-quantile))==0) {
    interval <- interval.left
  } else {
    interval <- interval.right
  }
}
mean(interval)
qnorm(quantile)