Bootstrap 重采样形式的 R 中的分位数函数

quantile function in R in a resampling form for Bootstrap

我目前正在阅读 Efron 的书“Bootstrap 简介”,我正在关注第 14.Trying 章的 ABC 置信区间部分来实现此方法我发现存在一个函数在 bootstrap 实现它的包中的 R 中。

以下数据来自本书第180页

A = c(48,36,20,29,42,42,20,42,22,41,45,14,6,0,33,28,34,4,32,24,47,41,24,26,30,41)

数据的平均值是:

mean(A)
[1] 29.65385

现在bootstrap包abcnon功能网页是this 有一个玩具示例。

书上和函数的帮助都说theta函数必须写成重采样的形式

例如总和写为:

theta <- function(p,x) {sum(p*x)/sum(p)}

如果我发现 0.5 分位数为真:

results <- bootstrap::abcnon(A, theta,alpha=0.5)  
results$limits
     alpha      abc     stan
[1,]   0.5 29.60023 29.65385

现在假设我希望将 theta 作为分位数而不是均值 function.How 我可以将其写成这种重采样形式吗?

ABC 方法不适用于分位数。第14.4节第二段ABC方法解释:

The ABC method (...) requires that the statistic theta_hat = s(x) is defined smoothly in x. An example of an unsmooth statistic is the sample median.

中位数是 50% 的分位数。分位数不是平滑函数。