dilay_zhang 2024-01-30 22:33 采纳率: 81.8%
浏览 23
已结题

r语言重复测量方差分析的多重比较

r语言中使用rstatix::pairwise_t_test对两因素重复测量方差分析进行主效应的多重比较,出现下面的问题

这是我的数据:

> str(wmdata)
gropd_df [132 × 5] (S3: grouped_df/tbl_df/tbl/data.frame)
 $ id    : Factor w/ 25 levels "1","2","3","4",..: 1 1 1 1 1 1 3 3 3 3 ...
 $ int   : Factor w/ 3 levels "baseline","low",..: 1 1 2 2 3 3 1 1 2 2 ...
 $ wm    : Factor w/ 2 levels "tactile","visual": 1 2 1 2 1 2 1 2 1 2 ...
 $ wmans : num [1:132] 0.75 0.562 0.688 0.812 0.812 ...
 $ intans: num [1:132] 1 1 0.688 0.938 0.562 ...

这是报错的代码


simple_int <- wmdata%>%
  pairwise_t_test(
    wmans~int, paired = T,
    p.adjust.method = "bonferroni",
    detailed = T
  )

Error in `mutate()`:
ℹ In argument: `data = map(.data$data, .f, ...)`.
Caused by error in `map()`:
ℹ In index: 1.
Caused by error in `pull()`:
! Can't extract columns that don't exist.
✖ Column `int` doesn't exist.
Run `rlang::last_trace()` to see where the error occurred.

但是我的数据里面有int这一列,而且当我做交互作用的简单效应分析的时候是没有问题的

inter_int <- wmdata %>%
  group_by(wm) %>%
  rstatix::pairwise_t_test(
    wmans ~ int, paired = TRUE,
    p.adjust.method = "bonferroni",
    detailed = T
  )
inter_int

为什么会出现上述问题?应该怎么解决呢

  • 写回答

2条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-01-30 22:37
    关注

    参考通义千问和郭老师的小迷弟雅思莫了-编写提供,主要是为了帮助您快速解决问题,如下回答,您可以参考下,如有问题,评论区留言。

    在使用 pairwise_t_test() 函数进行多重比较时,出现上述错误的原因可能在于,在没有对重复测量的“subject”(在这个例子中是"id")进行分组处理的情况下,函数无法识别出配对数据。

    当您尝试仅基于int进行比较时,R 未能理解这些观测值之间的配对关系。而在交互作用分析中,通过先按wm分组,实际上隐含地考虑了每个id下的配对情况,因此能够正确运行。

    为了解决这个问题,您需要明确指定配对变量(即“id”),可以采用如下方式进行主效应的多重比较:

    library(rstatix)
    
    # 确保数据按照'id'和'int'有序排列
    wmdata <- wmdata %>%
      group_by(id, int) %>%
      arrange(id, int)
    
    # 进行配对t检验
    simple_int <- wmdata %>%
      nest(data = c(wmans, int)) %>%
      mutate(paired_test = map(data, ~ pairwise_t_test(.x$wmans ~ .x$int, paired = TRUE, p.adjust.method = "bonferroni", detailed = TRUE))) %>%
      unnest(paired_test)
    

    这段代码首先将数据按照'id'和'int'排序并创建一个嵌套数据框,然后在每个id内进行配对t检验。这样应该能解决报错问题,并得到正确的主效应多重比较结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 1月30日