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

如何结合lapply与dlply对数据框列表批量运行分组线性回归

数据框列表批量分组线性回归实现方案

兼容原有dlply用法的实现

直接通过基础函数lapply()遍历数据框列表,将每个元素传入你已掌握的dlply逻辑即可:

library(plyr)
# 批量执行分组回归
result_list <- lapply(iris_list, function(df) {
  dlply(df, "Species", function(x) lm(Sepal.Length ~ Sepal.Width, data = x))
})

结果结构说明

  • 返回值result_list为嵌套列表,第一层对应iris_list的三个输入数据框,result_list[[n]]就是第n个数据框的回归结果,和你单数据框运行得到的test结构完全一致
  • 第二层对应分组的Species类别,调用result_list[[1]][["setosa"]]即可取出第一个数据框中setosa分组的拟合模型

可选tidyverse实现(方便后续结果批量处理)

如果需要后续批量提取回归系数、拟合指标等,可使用tidyverse生态函数实现,更便于后续结果整理:

library(tidyverse)
library(broom)

result_tidy <- map(iris_list, function(df) {
  df %>%
    group_by(Species) %>%
    nest() %>%
    mutate(
      model = map(data, ~lm(Sepal.Length ~ Sepal.Width, data = .x)),
      # 可直接生成规整的系数表、拟合指标表,按需保留
      coef_info = map(model, tidy),
      fit_info = map(model, glance)
    )
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:36:06