簡體   English   中英

R:在95%置信區間內(2.5至97.5個百分位數),向量的最小值,最大值,均值和中值

[英]R: min, max, mean and median of a vector within 95% confidence interval (2.5 to 97.5 percentiles)

我運行了1000次迭代以使用rnorm生成一個正常的偏差並將其保存在向量中:

rvec <- rnorm (1000, mean = 0.143927671, sd = 0.110680809)

我需要在95%的置信區間(2.5至97.5個百分位數)內找到向量的最小值,最大值,均值和中值,在R中有任何函數可以做到這一點嗎? 我試圖使用apply ,但是它似乎沒有提供我想要的東西:

rmax = apply(rvec, 2, max, c(.025, 0.975))

因此,我想根據隨機樣本/該人群的子集來估算該人群的最小/最大/平均/中位數

在Excel中,有一個用於MonteCarloanalysis的插件,但是我想在R中做到這一點。

謝謝!

一種基於樣本S獲得中位數置信區間的方法是對S進行自舉重采樣,計算每個樣本的中位數。 讓我們以您的示例(為再現性設置隨機種子)為例:

set.seed(100)
rvec <- rnorm (1000, mean = 0.143927671, sd = 0.110680809)
samp.medians <- replicate(500, median(sample(rvec, length(rvec), replace=T)))
summary(samp.medians)
#    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#  0.1327  0.1425  0.1480  0.1473  0.1505  0.1615 
quantile(samp.medians, c(0.025, 0.975))
#      2.5%     97.5% 
# 0.1377611 0.1574934 

有一個單獨的概念,即當前估計值表示的可能分位數周圍的置信區間。 例如,如果您取10個樣本的中位數, 則是對分布的第50個百分位數的估計 ,但這是一個估計,因此會有一些誤差。 要獲得您的估計所代表的分位數范圍,可以使用binom.test

binom.test(x=sum(rvec>median(rvec)),n=length(rvec),conf.level=0.95)
#> [some text omitted from the output of binom.test]
#> 95 percent confidence interval:
#>  0.4685492 0.5314508

這表明中median(rvec)可能在基礎分布的46.9個百分點和53.1個百分點之內,置信度為95%。

請注意,自舉將為您提供一個范圍,該范圍可能是基礎分布的真實中值所在的范圍,但是對於像'min'和'max'這樣的有偏估計,它對經驗估計( max(rvec) ,例如)。 但是,上述方法將為您提供您最喜歡的統計信息(最小/最大/中位數/平均值,第75個百分位數等)可能位於的分布百分位數的置信區間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM