我有一个大型数据集,并运行了一个包含大量(但不是全部)可用变量的多元回归。我试图运行一个简单回归进行比较,需要使用与多元回归中相同的观测值。最简单/最好的方法是什么?我想我可以创建一个包含多元回归中变量的完整观测值的子集,并对该子集运行多元回归和简单回归,但我不知道如何操作。也许有一种更简单的方法来识别和“选择”多元回归中使用的观测值?我已经做了一些广泛的谷歌搜索这个问题,但不能找到一个解决方案,到目前为止。
m528fe3b1#
可以使用函数model.frame()来完成此操作。请参见?model.frame。
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模型中使用的变量。
model.frame
lm
names(df_used_in_fit1) [1] "pressure" "wind" "year" [4] "month" "hurricane_force_diameter"
1条答案
按热度按时间m528fe3b1#
可以使用函数
model.frame()
来完成此操作。请参见?model.frame
。model.frame(一个泛型函数)及其方法返回一个data.frame,其中包含使用公式所需的变量和任何...参数。
注意,
model.frame
将只包含我们在原始lm
模型中使用的变量。