我有以下代码,Gender是一个虚拟变量,如M0,F1:
示例数据:
ID Feature Age Gender Category
1 96 30 0 category 1
2 57 42 0 category 1
3 82 37 0 category 1
4 87 43 1 category 1
5 8 47 1 category 1
6 52 35 0 category 1
7 29 36 0 category 1
8 48 34 1 category 1
9 13 25 0 category 1
10 53 39 1 category 2
11 64 44 0 category 2
12 70 33 0 category 2
13 31 27 1 category 2
14 88 27 1 category 2
15 37 53 0 category 2
16 6 29 0 category 2
17 44 60 0 category 2
18 71 54 1 category 2
19 78 54 0 category 2
20 64 48 0 category 3
21 68 57 1 category 3
22 31 36 1 category 3
23 18 34 0 category 3
24 42 53 0 category 3
25 1 38 0 category 3
26 47 54 0 category 3
27 18 22 0 category 3
28 65 28 0 category 3
29 23 45 1 category 3
30 46 45 0 category 3
我的 Ancova 定义为 安科瓦
res.aov <- df_copy %>% anova_test(Feature ~ Age + Gender + Category)
事后配对
pwc <- df_copy %>%
emmeans_test(
formula = Feature ~ Category,
covar = Age,
p.adjust.method = "bonferroni"
)
这对于年龄来说效果很好,但单独添加性别或与年龄结合会导致问题 - 需要做什么才能在 emmean 中拥有两个协变量,以及需要为虚拟变量性别做哪些额外的事情。
您的变量是否被编码为因子?要检查它们是否运行
class(df$variable)
以查看您拥有什么类别的变量。如果它们不是因素,可以通过运行将其更改为因素:
df$variable <- as.factor(df$variable)
可能引起问题的另一个问题是“性别”只有一个值。由于“性别”的唯一值是“类别”,将其包含在模型中可能会导致问题。