anova_test (rstatix) lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) 中的错误:0(非 NA)情况

anova_test (rstatix) Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases

提问人:Bryce Hunt 提问时间:7/12/2023 最后编辑:Bryce Hunt 更新时间:7/13/2023 访问量:34

问:

我正在尝试使用下面的数据集 (df2) 进行双向重复测量方差分析:

# A tibble: 20 × 5
   `Lateral Preference` Student `1st Grade` `2nd Grade` `3rd Grade`
   <chr>                  <dbl>       <dbl>       <dbl>       <dbl>
 1 Left                       1          22          26          34
 2 Left                       2          24          25          30
 3 Left                       3          18          22          24
 4 Left                       4          20          23          27
 5 Left                       5          30          36          40
 6 Left                       6          23          27          35
 7 Left                       7          23          24          29
 8 Left                       8          19          21          23
 9 Left                       9          29          24          28
10 Left                      10          32          38          40
11 Right                     11          27          29          34
12 Right                     12          28          34          36
13 Right                     13          25          26          28
14 Right                     14          23          26          30
15 Right                     15          26          34          36
16 Right                     16          25          27          29
17 Right                     17          30          31          35
18 Right                     18          21          25          28
19 Right                     19          24          25          28
20 Right                     20          30          33          35

执行以下操作来准备方差分析的 df2:

df2 = df2 |> 
  pivot_longer(3:5, names_to = "GradeLevel", values_to = "ReadingScore") |>
  rename(Handedness = `Lateral Preference`) |>
  convert_as_factor(Handedness, Student, GradeLevel)
df2$GradeLevel = fct_inorder(df2$GradeLevel)

但是,当我尝试在 Handedness 和 GradeLevel 中运行方差分析时

df2 |> anova_test(dv = ReadingScore, 
                  wid = Student, 
                  within = c(Handedness, GradeLevel))

我收到以下错误消息:

lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) 中的错误: 0 例(非 NA)病例

我看到的任何地方都说这是由于我的数据中的 NA,但 all(is.na(df2)) 返回 FALSE,所以我不知道出了什么问题。

我尝试按照建议的顺序“rstatix,tidyverse”重新加载我的包,并按 GradeLevel、Student 或 Handedness 重新排列数据。我的数据中没有 NA 值。

更新:我找到了问题的根源。我得到了一个错误,因为“惯用手”中的因素并不适用于每个学生,因此“within”参数无法将学生的阅读分数与不同的惯用手值进行比较。我需要做的是混合方法方差分析,如下所示:

df2 |> anova_test(dv = ReadingScore, 
              wid = Student, 
              within = GradeLevel, 
              between = Handedness)
方差分析 rstatix

评论


答: 暂无答案