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

如何使用purrr批量为多个回归模型的参与样本添加标记

实现方法

首先加载需要的依赖包:

library(dplyr)
library(purrr)

先构造你示例中的测试数据集:

df <- mtcars %>% 
  mutate(disp = replace(hp, c(2, 3), NA)) %>% 
  mutate(wt = replace(wt, c(3, 4, 5), NA))

接下来把你需要批量跑的回归公式整理为命名列表,列表的名称就是你要生成的样本标记列的列名:

formula_list <- list(
  samp1 = mpg ~ disp,
  samp2 = mpg ~ wt
)
# 后续新增模型直接在该列表中追加即可,比如增加samp3 = mpg ~ drat

最后用purrr批量生成标记列并绑定到原数据集:

df <- formula_list %>%
  # 批量拟合回归模型
  map(~ lm(.x, data = df)) %>%
  # 为每个模型生成对应的样本标记列
  map(function(mod) {
    res <- rep(TRUE, nrow(df))
    na_rows <- na.action(mod)
    # 兼容无缺失值的模型场景,避免报错
    if (!is.null(na_rows)) res[na_rows] <- FALSE
    res
  }) %>%
  # 将所有标记列合并到原数据集
  bind_cols(df, .)

你可以运行以下代码验证结果:

head(select(df, mpg, disp, wt, samp1, samp2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:45:03