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

使用map调用anova_test的R代码无法运行,请求排查原因

问题原因与修复方案

核心问题

你使用anova_test时参数传递格式错误:

  • dv、wid、within需要传入数据框中变量的名称字符串,而非直接提取向量(比如.x$DV_values是提取出的数值向量,不是变量名)。
  • rstatix::anova_test要求这些参数对应数据框内的列名,而非向量对象。

修正后的代码

library(tidyverse)
library(rstatix)

social_reward_AOV_data %>%
  mutate(
    aov_within = map(data, ~{
      anova_test(
        data = .x, 
        dv = DV_values,  # 直接用列名,无需$提取
        wid = PID, 
        within = social_reward
      ) %>% 
        tidy()
    })
  ) %>%
  unnest(cols = aov_within)

代码说明

  1. 移除.x$前缀,直接传入列名:DV_values、PID、social_reward,完全符合anova_test的参数要求。
  2. 每个嵌套子数据框会被独立处理,自动匹配DV_names中的对应因变量,最终输出所有因变量的重复测量方差分析结果。

测试验证

用你提供的示例数据运行上述代码,会得到每个因变量(amt_trusted、arousal等)的完整方差分析统计结果,包含F值、自由度、p值等关键指标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:27:04