提问人:Bryce Hunt 提问时间:7/12/2023 最后编辑:Bryce Hunt 更新时间:7/13/2023 访问量:34
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
问:
我正在尝试使用下面的数据集 (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)
答: 暂无答案
评论