如何在R中实现引导

如何在R中实现引导,r,statistics-bootstrap,R,Statistics Bootstrap,所以我发布了一条关于这个问题的帖子,但它被搁置了。所以我重新措辞,这可能是一个编程问题。下面是我的代码。我试图用引导法找到样本的刺激置信水平 第一步:从对数正态分布生成数据 MC <-1000; # Number of samples to simulate xbar = c(1:MC); mu = 1; sigma= 1.5; the_mean <- exp(mu+sigma^2/2); n= 10; for(i in 1:MC) { mySample <- rlnorm

所以我发布了一条关于这个问题的帖子,但它被搁置了。所以我重新措辞,这可能是一个编程问题。下面是我的代码。我试图用引导法找到样本的刺激置信水平

第一步:从对数正态分布生成数据

MC <-1000; # Number of samples to simulate
xbar = c(1:MC);
mu = 1;
sigma= 1.5;
the_mean <- exp(mu+sigma^2/2);
n= 10;

for(i in 1:MC)
 {
mySample <- rlnorm(n=n meanlog=mu, sdlog=sigma);
xbar [i] <- the_mean(mySample);
 }
如果您实现了这段代码,您可以看到输出是975.025,而实际上应该是0。90 我不明白为什么我的输出是错误的

我们不是在寻找置信区间,而是在寻找刺激的置信水平。通过模拟获得的实际覆盖率与95%的名义置信水平相比如何?这是我的代码,当我的示例在实践问题中给出时


你想要什么样的引导?可以使用samplen,n,replace=TRUE或R附带的引导包来实现非参数化。那么,为什么要使用rlnorm对1000组数据进行采样呢?在非参数样本中,您有1个数据样本,并从该样本中获取B个引导样本。计算每一个B引导样本的平均值,然后取适当的分位数给你一个百分位数CI。请不要在代码顶部包含rmlist=ls。这可能会导致人们无意中清除他们的会话。您是否查看了样本?您需要使用这些值来索引rlnorm中的1 draw,以从观察到的样本中选择样本。您认为_的意思是什么样的样本正在做什么?根据您的代码,_mean不是一个函数,但您使用的是类似的函数。
B = 1000
xbar_star = c(1:B)
for(b in 1:B)
{ 
 x_star = sample(n,n, replace=TRUE)
 xbar_star[b] = mean(x_star)
 }

quantile(xbar, p=c(0.025, 0.975))
library(boot)
x = c(0.22, 0.23, 0.26, 0.27, 0.28, 0.28, 0.29,
  0.33, 0.34, 0.35, 0.38, 0.39, 0.39, 0.42, 0.42,
  0.43, 0.45, 0.46, 0.48, 0.5, 0.5, 0.51, 0.52,
  0.54, 0.56, 0.56, 0.57, 0.57, 0.6, 0.62, 0.63,
  0.67, 0.69, 0.72, 0.74, 0.76, 0.79, 0.81, 0.82,
  0.84, 0.89, 1.11, 1.13, 1.14, 1.14, 1.2, 1.33)

B = 10000
xbar = mean(x)
n = length(x)
xbar_star = c(1:B)
for(b in 1:B)
{
x_star = sample(x=x, size=n, replace=TRUE)
xbar_star[b] = mean(x_star)
}

# empirical percentile method

 quantile(xbar_star, p=c(0.025, 0.975))

> quantile(xbar_star, p=c(0.025, 0.975))
  2.5%     97.5% 
0.5221277 0.6797926