繁体   English   中英

R,python或octave:具有置信区间的经验分位数(反CDF)?

[英]R, python or octave: empirical quantile (inverse cdf) with confidence intervals?

我正在寻找一个内置函数,该函数将返回分位数和估计的置信区间 ,而不是MATLAB(MATLAB的ecdf执行此操作)。

我猜R已经内置了这个功能,但是我还没有找到它。

如果您有任何独立的代码可以执行此操作,尽管我希望找到包含在更大的开放代码库中的内容,但是您也可以在这里指向它。

-试图摆脱MATLAB。

survfit函数可用于以置信区间获取生存函数。 由于它只是1-ecdf,因此分位数之间存在直接关系。 要使用此功能,您必须创建一个变量,该变量表明您的每个观察结果都是完整的(未经审查):

library(survival)
x <- rexp(10)
ev <- rep(1, length(x))
sf <- survfit(Surv(x,ev)~1)

输出:

>summary(sf)
Call: survfit(formula = Surv(x, ev) ~ 1)

     time n.risk n.event survival std.err lower 95% CI upper 95% CI
-1.4143     10       1      0.9  0.0949       0.7320        1.000
-1.1229      9       1      0.8  0.1265       0.5868        1.000
-0.9396      8       1      0.7  0.1449       0.4665        1.000
-0.4413      7       1      0.6  0.1549       0.3617        0.995
-0.2408      6       1      0.5  0.1581       0.2690        0.929
-0.1698      5       1      0.4  0.1549       0.1872        0.855
 0.0613      4       1      0.3  0.1449       0.1164        0.773
 0.1983      3       1      0.2  0.1265       0.0579        0.691
 0.5199      2       1      0.1  0.0949       0.0156        0.642
 0.8067      1       1      0.0     NaN           NA           NA

实际上, survfit会计算中位数及其置信区间,但不会计算其他分位数:

>sf
Call: survfit(formula = Surv(x, ev) ~ 1)

records   n.max n.start  events  median 0.95LCL 0.95UCL 
 10.000  10.000  10.000  10.000  -0.205  -0.940      NA 

计算中位数置信区间的实际工作完全隐藏在survival:::survmean函数中,您可以使用它泛化为其他分位数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM