簡體   English   中英

如何使用 R 上的二進制數據進行重復測量方差分析

[英]How to do repeated-measure ANOVA with binary data on R

我正在研究三周內海鞘幼蟲的生存情況,以及定居者的大小或它們所在的培養皿(因為每個培養皿中都有隨機數量的海鞘)或它們所屬的運行有任何重大影響關於他們的生存。 我不期望培養皿和運行有任何意義,但是我的教授仍然希望我將它們包括在我的 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM