【发布时间】:2013-12-27 17:26:02
【问题描述】:
请我出去!我很感激任何帮助!谢谢!
我无法重复重新采样 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()我应该怎么做?
【问题讨论】:
-
所以
replicate(1000, {your_codez})不起作用? -
是的,我已经尝试了 rep(1000, function()) 但无法得到结果。
-
我没说要使用
function()。你应该使用花括号。 -
仅供参考,
replicate是sapply的常用包装器,用于重复计算表达式。sapply本身是lapply的用户友好版本和包装器,它返回向量或矩阵而不是列表。
标签: r lm statistics-bootstrap