我正在寻找一个内置函数,它在 MATLAB 以外的其他东西中返回样本分位数和估计的置信区间(MATLAB 是ecdf
这样做的)。
我猜 R 有这个内置的,但我还没有找到它。
如果您有任何独立的代码来执行此操作,您也可以在此处指出它,尽管我希望找到一些包含在更大的开放代码库中的东西。
- 试图摆脱 MATLAB。
我正在寻找一个内置函数,它在 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
函数中,您可能可以使用它来推广到其他分位数。