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

在For循环中无法连续输出回归模型summary结果的技术求助

问题原因与解决方法

你的代码问题出在summary(lm(i))这一行:

  • lm(i)是在调用线性回归函数lm(),把循环变量i传进去,根本不是你之前用assign创建的lm1、lm2这些模型对象,自然输出不了正确的summary。

方案1:修正原代码的调用方式

把summary(lm(i))改成用get()函数获取你创建的模型对象,代码如下:

data("popular")
variabile <- names(popular)

for(i in 1:4) {
    assign(paste0("lm", i), lm(paste0(variabile[i], "~ texp"), data=popular))
    summary(get(paste0("lm", i)))
}

方案2:用列表存储模型(更推荐)

用assign创建一堆单独变量的做法并不规范,推荐把所有模型存在一个列表里,后续查看和操作都更方便:

data("popular")
variabile <- names(popular)
# 初始化一个空列表存储模型
model_list <- list()

for(i in 1:4) {
    model_list[[i]] <- lm(paste0(variabile[i], "~ texp"), data=popular)
    # 直接输出当前模型的summary
    summary(model_list[[i]])
}

# 后续如果要查看某个模型的summary,直接调用:
# summary(model_list[[1]])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 07:54:56