12

请我出去!我很感激任何帮助!谢谢!

我在重复重新采样 1000 次时遇到了麻烦。我尝试使用 replicate() 来做到这一点,但它不起作用。有没有其他方法可以做到这一点?谁能告诉我这是否可以通过使用 lapply 来完成?以下是我的代码:

#sampling 1000 betas0 & 1 (coefficients) from the data
get.beta=function(data,indices){ 
  data=data[indices,] #let boot to select sample
  lm.out=lm(y ~ x,data=data)
  return(lm.out$coefficients)
}
n=nrow(data)
get.beta(data,1:n)

bootcoe=boot(data,get.beta,R=1000) #generate 1000 random samples
head(bootcoe$t) #look at the betas

从上面的代码中,我可以通过随机抽样数据获得 1000 个 betas0 和 1。我想这样做 1000 次以获得不同的测试版。除了replicate(),我应该怎么做?

4

1 回答 1

27

这更像是一个扩展的评论,我证明它replicate应该有效。这是 CLT 的一个示例。只需替换大括号之间的行即可。

x <- replicate(1000, {
  mm <- runif(10)
  mean(mm)
  })
hist(x)

在此处输入图像描述

于 2013-12-10T09:34:19.403 回答