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

使用broom包批量提取多线性回归ANOVA表中固定效应的P值

实现方案

你之前的代码过早对模型执行了summary()操作,丢失了原始lm对象,导致无法再提取ANOVA结果,调整逻辑先保留模型列表,分别提取汇总信息和ANOVA的P值再合并即可,具体操作如下:

步骤1:加载依赖包并批量拟合模型

library(tidyverse)
library(broom)

# 批量拟合所有回归模型,保留原始lm对象列表
model_list <- DF_FCE3 %>% 
  select(-FE_FCE2, -Trial) %>%  # 仅保留待分析的预测变量
  map(~ lm(FE_FCE2 ~ Trial + .x, data = DF_FCE3))

步骤2:分别提取回归汇总信息与Trial的ANOVA P值

# 提取glance返回的回归汇总结果,新增predictor列标记对应的x变量
rsme <- model_list %>% 
  map_df(~ glance(.x) %>% round(3), .id = "predictor")

# 提取每个模型ANOVA表中Trial对应的Pr(>F)值
trial_pval <- model_list %>% 
  map_df(~ anova(.x) %>% 
           tidy() %>%  # 用broom的tidy将ANOVA表转为结构化数据框
           filter(term == "Trial") %>%  # 筛选Trial对应的行
           select(trial_pval = p.value), # 提取P值并重命名
         .id = "predictor")

步骤3:合并得到最终汇总表

final_result <- left_join(rsme, trial_pval, by = "predictor")

输出的final_result就包含了你原来rsme的所有汇总统计,同时新增了trial_pval列存储每个回归对应Trial的ANOVA P值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:48:02