我运行了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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句