2

重复测量方差分析的 DATANOVIA 指南中的一些样本数据:

library(tidyverse)
library(ggpubr)
library(rstatix)

data("selfesteem", package = "datarium")

selfesteem <- selfesteem %>%
  gather(key = "time", value = "score", t1, t2, t3) %>%
  convert_as_factor(id, time)

res.aov <- anova_test(data = selfesteem, dv = score, wid = id, within = time)
get_anova_table(res.aov)

我想使用report来自出版商 E​​asyStats ( https://github.com/easystats/report ) 的软件包。它接受 、 或 类的aovANOVAanova对象aovlist。ANOVA 中的对象rstatix属于类anova_test,因此与report.

有什么方法可以转换对象类,还是应该使用基 R 进行重复测量方差分析?

回复 1(已被删除):

class(res.aov) <- "aov"class(res.aov) <- c("aov", class(res.aov))。您可以添加或更改对象的类属性

所以我尝试了这个:

> res.aov <- anova_test(data = selfesteem, dv = score, wid = id, within = time)

> report(res.aov)
Error in report.default(res.aov) : 
  The input you provided is not supported yet by report :(

对象摘要

然后你的建议:

> class(res.aov) <- c("aov", class(res.aov))
> report(res.aov)
Error in UseMethod("anova") : 
  no applicable method for 'anova' applied to an object of class "c('aov', 'anova_test', 'list', 'rstatix_test')"

对象摘要 2 类更改似乎已经奏效,但将对象传递给report. 我该如何进行?

附带说明一下,如果有人可以澄清这些是否等效,我的问题可以通过将我的 ANOVA 传递给基础 R 来解决:

anova_test(response ~ A * B + Error(subject/(A * B)))rstatix

相当于

aov(response ~ A * B + Error(subject/(A * B)))stats

4

0 回答 0