R:pnorm()和qnorm()的经验版本?

时间:2010-06-23 13:26:52

标签: r

我有一个使用正态分布函数pnorm()和qnorm()的规范化方法。我想改变我的逻辑,以便我可以使用经验分布而不是假设正态。我用ecdf()来计算经验累积分布但后来意识到我开始写一个基本上是经验的p和q版本的函数。有更简单的方法吗?也许包含pecdf()和qecdf()的包?我讨厌重新发明轮子。

3 个答案:

答案 0 :(得分:9)

您可以使用quantileecdf函数分别获得qecdfpecdf

x <- rnorm(20)
quantile(x, 0.3, type=1) #30th percentile
Fx <- ecdf(x)
Fx(0.1)  # cdf at 0.1

答案 1 :(得分:2)

用ecdf模拟'经验分布的'pnorm:

> set.seed(42)
> x <- ecdf(rnorm(1000))
> x(0)
[1] 0.515
> pnorm(0)
[1] 0.5

答案 2 :(得分:1)

这不正是bootstrap p -values的作用吗?

如果是这样的话,保持一个向量,排序,并在适当的位置读出(即10k的5%为500%)。有一些微妙的问题需要选择的位置,例如help(quantile)在“类型”下讨论。