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

R语言按类别循环创建独立回归模型的实现方法

在R中按类别迭代构建回归模型的实现方法

核心思路

先提取所有唯一的类别代码,通过循环逐个筛选对应子集数据,构建回归模型并统一存储,方便后续调用。

具体实现步骤

  • 提取唯一类别列表
    假设你的数据集为df,存储唯一代码的列名为unique_code,先获取所有不重复的代码:

    unique_codes <- unique(df$unique_code)
    
  • 初始化模型存储容器
    用列表存储每个类别对应的回归模型,避免模型被覆盖:

    model_list <- list()
    
  • 编写for循环构建模型
    遍历每个唯一代码,筛选对应数据子集后建模,将模型存入列表并以代码命名:

    for(code in unique_codes) {
      # 筛选当前代码的子集数据
      subset_data <- df[df$unique_code == code, ]
      # 构建回归模型(替换成你的因变量和自变量)
      current_model <- lm(dependent_var ~ independent_var1 + independent_var2, data = subset_data)
      # 把模型存入列表,用代码作为列表元素名称
      model_list[[as.character(code)]] <- current_model
    }
    
  • 查看与使用模型
    循环结束后,可直接调用列表中的模型查看结果:

    # 查看某一代码对应的模型摘要
    summary(model_list[["CODE_001"]])
    

备选简化方案(无需for循环)

如果习惯tidyverse风格,也可以用purrr包的map函数实现:

library(purrr)
model_list <- map(unique_codes, ~lm(dependent_var ~ independent_var1 + independent_var2, 
                                    data = df[df$unique_code == .x, ]))
# 给列表元素命名
names(model_list) <- unique_codes

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:30:59