You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中基于向前选择结果运行选定变量的OLS模型?

自动构建向前选择后的OLS模型

方法一:字符串拼接生成公式

  1. 提取65个选定变量的名称
# 从65变量模型中筛选出选中的自变量(排除截距项)
selected_vars <- names(training_set)[regfwd.summary$which[65, ]][-1]

regfwd.summary$which是一个逻辑矩阵,每行对应不同变量数量的模型,每列对应一个变量(第一列是截距)。取第65行中TRUE对应的列名,再去掉第一个截距项,就能得到所有选定的自变量。

  1. 拼接公式并运行模型
# 拼接成公式字符串
formula_text <- paste("y ~", paste(selected_vars, collapse = " + "))
# 转换为公式对象
final_formula <- as.formula(formula_text)
# 运行OLS模型
fws_model <- glm(final_formula, data = training_set)

方法二:用reformulate函数简化操作

R自带的reformulate函数可以直接把变量列表转换成模型公式,步骤更简洁:

# 提取选定变量
selected_vars <- names(training_set)[regfwd.summary$which[65, ]][-1]
# 直接生成公式并运行模型
fws_model <- glm(reformulate(selected_vars, response = "y"), data = training_set)

注意事项

  • 确认regfwd.summary$which的第65行对应65变量模型:可以通过regfwd.summary$nvmax查看模型支持的最大变量数,或用regfwd.summary$adjr2、regfwd.summary$bic等指标验证该行模型是否符合你的需求。
  • 如果数据集里响应变量的名称不是y,记得把代码中的"y"替换成实际名称。

内容的提问来源于stack exchange,提问作者TFT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:15:29