【发布时间】:2021-10-29 15:46:49
【问题描述】:
我想创建三个对比代码以包含在 R 中的回归/ANOVA 分析中。
我尝试了两种不同的方法,虽然代码出现在对比矩阵中,但它没有出现在我的回归/ANOVA 输出中
这是我用来创建对比并将它们分配给感兴趣的条件的一种方法:
c1 <- c(1, 0, -1)
c2 <- c(1, -2, 1)
c3 <- c(2, -1, -1)
mat <- cbind(c1,c2,c3)
contrasts(df$condition) <- mat
然后我在回归分析中使用它:
summary(lm(Diff ~ condition, df))
这是我输出的系数:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 42.6679 0.4249 100.425 <2e-16 ***
conditionc1 1.0108 0.5169 1.955 0.0524 .
conditionc2 0.7829 0.3024 2.589 0.0106 *
我期待的是 c1、c2 和 c3 的系数,但我不明白为什么我不能生成这个。
以下是我正在处理的数据:
structure(list(condition = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L), .Label = c("prompt_explicit", "prompt_gen", "prompt_less"
), contrasts = structure(c(1, 0, -1, 1, -2, 1), .Dim = 3:2, .Dimnames = list(
c("prompt_explicit", "prompt_gen", "prompt_less"), c("c1",
"c2"))), class = "factor"), Diff = c(44L, 40L, 40L, 40L,
40L, 40L, 40L, 40L, 40L, 40L, 60L, 44L, 50L, 40L, 40L, 40L, 60L,
40L, 44L, 40L, 40L, 52L, 50L, 50L, 40L, 40L, 40L, 40L, 40L, 40L,
40L, 40L, 40L, 50L, 40L, 60L, 42L, 42L, 40L, 48L, 40L, 60L, 40L,
40L, 40L, 44L, 50L, 50L, 60L, 42L, 60L, 50L, 40L, 40L, 40L, 56L,
40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L,
40L, 40L, 40L, 40L, 40L, 60L, 50L, 40L, 44L, 40L, 60L, 40L, 42L,
50L, 50L, 42L, 46L, 40L, 40L, 50L, 40L, 40L, 40L, 44L, 42L, 40L,
40L, 40L, 40L, 40L, 40L, 46L, 40L, 40L, 40L, 40L, 40L, 40L, 40L,
40L, 40L, 40L, 40L, 40L, 40L, 40L, 42L, 40L, 40L, 40L, 40L, 40L,
40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 42L, 40L, 48L, 46L,
50L, 44L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 40L, 50L, 52L,
40L, 40L, 40L, 40L)), row.names = c(NA, -151L), class = "data.frame")
这里有什么我遗漏的吗?
【问题讨论】:
标签: r regression anova