【发布时间】:2018-07-11 04:35:00
【问题描述】:
我正在尝试通过从原始样本中重新采样 X 和 Y 来进行引导回归。 我遵循了一种更手动的方法(不使用任何包) 这是我迄今为止的工作,
set.seed(326581)
X1=rnorm(10,0,1)
Y1=rnorm(10,0,2)
data=data.frame(X1,Y1)
lst <- replicate(
100,
df.smpl <- data %>% sample_n(10, replace = T),
simplify = FALSE)
该列表包含 100 个样本,其中每个样本有 2 列 (X,Y),样本大小为 10 。这些是引导示例。
为了获得引导残差,我将 X 和 Y 列分成两个单独的数据框,如下所示,
new1=data.frame(lapply(lst, `[`, 'X1'))
new2=data.frame(lapply(lst, `[`, 'Y1))
之后,我尝试使用以下代码存储从每个模型拟合得到的残差,
res=c()
for(i in 1:100)
{
res[i]=residuals(lm(new2[,i]~new1[,i]))
}
但似乎有些不对劲。谁能帮我解决这个问题?
顺便问一下,还有比这更简单的方法吗?
【问题讨论】:
标签: r regression simulation