自举样本结果变量是否与R中回归中的x值链接

问题描述 投票:3回答:1

我正在尝试对R中的自举样本进行回归分析。

原始样本看起来像此数据框(称为df),并且具有数百个条目。 Y是结果变量,对待是0或1。

y  treat
3  0
5  1
2  0
4  1

我已采样并替换以从df $ y生成900个观测值。

set.seed(5)
b1 <- sample(df$y, 900, replace = TRUE, prob = NULL)

然后运行以下回归。

lm(b1 ~ treat, df)

将样本b1用作回归结果时,这是否会自动将b1的正确值与原始数据框中的处理值进行匹配?如果我希望b1中的结果值与原始数据帧中的正确处理值相对应,是否需要做一些不同的事情?如何检查这是我要运行的回归?

r regression linear-regression sample
1个回答
1
投票

我们可以按行的顺序而不是单列的sample。在OP的代码中,它只是对'y'进行采样,而使'treat'仅包含4个元素,并且当我们应用公式方法时,这将导致错误,因为对象之一的长度不同。

lm(b1 ~ treat, df)   

model.frame.default(formula = b1〜Treat,data = df,drop.unused.levels = TRUE):可变长度有所不同(适用于“治疗”)

相反,我们在行序列上为sample

set.seed(5)
df1 <- df[sample(seq_len(nrow(df)), 900, replace = TRUE),]
lm(y ~ treat, df1)

数据

df <- structure(list(y = c(3L, 5L, 2L, 4L), treat = c(0L, 1L, 0L, 1L
)), class = "data.frame", row.names = c(NA, -4L))
© www.soinside.com 2019 - 2024. All rights reserved.