如何利用R上的二进制数据进行重复测量ANOVA



我正在研究腹水幼虫在三周内的存活率,如果沉降器的大小或它们所在的培养皿(因为每个培养皿中都有随机数目的腹水(或它们所属的运行对它们的存活有任何重大影响。我不希望培养皿和run有任何意义,但我的教授仍然希望我将它们纳入ANOVA,以便以后能够从统计上排除它们。以下是我一直在尝试运行的所有编码:

Ascidians <- Ascidians %>%
gather(key = "Week", value = "Survival", Survival.W1, 
Survival.W2, Survival.W3) %>%
convert_as_factor(Week)
Ascidians %>%
group_by(Settler.Size, Week) %>%
shapiro_test(Survival)
ggqqplot(Ascidians, "Survival", ggtheme = theme_bw())+
facet_grid(Week~Settler.Size, labeller= "label_both")
res.aov <- anova_test(data = Ascidians, dv = Survival,
wid = Run, within = c(Settler.Size, Week))
get_anova_table(res.aov)

然而,当我运行shapiro_test时,我得到了以下错误消息:

Error: Problem with `mutate()` input `data`.
x Problem with `mutate()` input `data`.
x sample size must be between 3 and 5000
i Input `data` is `map(.data$data, .f, ...)`.
i Input `data` is `map(.data$data, .f, ...)`.

它不允许我运行

res.aov <- anova_test(data = Ascidians, dv = Survival,
wid = Run, within = c(Settler.Size, Week))

我试着把它作为一个单向的开始,然后不断添加变量,直到我添加了所有的变量,然而,它不会让我运行双向重复方差分析,更不用说三向重复方差分析了我认为这是因为数据是二进制的?任何帮助都将不胜感激,谢谢!!

我的数据

Run Petri.dish Settler.Size Survival.W1 Survival.W2 Survival.W3
1   1          1     20130.03           0           0           0
2   1          1     23694.39           1           1           1
3   1          2     19421.20           1           1           1
4   1          2     25820.88           0           0           0
5   1          2     21432.59           0           0           0
6   1          2     18605.33           0           0           0

我认为您可能只想用Week而不是Settler.Size进行分组,因为用Settler.Size进行分组在每组中只会给您一行。

library(dplyr)
library(rstatix)
Ascidians %>% group_by(Week) %>% shapiro_test(Survival)

最新更新