R语言 识别和“捕获”多元回归中使用的观测值

5f0d552i  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(113)

我有一个大型数据集,并运行了一个包含大量(但不是全部)可用变量的多元回归。我试图运行一个简单回归进行比较,需要使用与多元回归中相同的观测值。
最简单/最好的方法是什么?我想我可以创建一个包含多元回归中变量的完整观测值的子集,并对该子集运行多元回归和简单回归,但我不知道如何操作。
也许有一种更简单的方法来识别和“选择”多元回归中使用的观测值?
我已经做了一些广泛的谷歌搜索这个问题,但不能找到一个解决方案,到目前为止。

m528fe3b

m528fe3b1#

可以使用函数model.frame()来完成此操作。请参见?model.frame

model.frame(一个泛型函数)及其方法返回一个data.frame,其中包含使用公式所需的变量和任何...参数。

library(dplyr)
data(storms)
nrow(storms) # pretty big
#> [1] 11859

# multiple regression
fit1 <- lm(pressure ~ wind + year + month + hurricane_force_diameter, data = storms)
df_used_in_fit1 <- model.frame(fit1) %>% as.data.frame()
nrow(df_used_in_fit1) # smaller because of NA values
#> [1] 5350

# simpler regression
fit2 <- lm(pressure ~ wind, data = df_used_in_fit1)
nrow(model.frame(fit2))
#> [1] 5350

注意,model.frame将只包含我们在原始lm模型中使用的变量。

names(df_used_in_fit1)
[1] "pressure"                 "wind"                     "year"                    
[4] "month"                    "hurricane_force_diameter"

相关问题