为了检验特定的假设,我正在尝试对比R中的一个因素。
set.seed(24)
data <- data.frame(var = sample(1:100, 70, replace = TRUE),
version = rep(c("v3", "v4", "v1", "v3", "v4","v2","v2"),times=10))
c1 <- c(1/3, -1, 1/3, 1/3)
c2 <- c(0, -1, 1, 0)
c3 <- c(0, -1, 0, 1)
c4 <- c(1, -1, 0, 0)
mat <- cbind(c1, c2, c3, c4)
contrasts(data$version, how.many = 4) <- mat
model <- aov(var ~ version, data = data)
summary.aov(model, split=list(version=list("comparison1"=1,"comparison2"= 2,
"comparison3"=3,"comparison4"= 4)))
为什么比较4没有结果?我该如何解决?谢谢。
答案 0 :(得分:2)
我们指定了how.many
参数,它应该可以工作。根据{{1}}
how.many-应该进行多少对比。默认值比x的级别数小一。该值不必与value的列数相同。
所以,这是我们在没有任何?contrasts
参数的情况下进行分配时观察到的默认行为
how.many
contrasts(data$var, how.many = 4) <- mat
contrasts(data$var)
# c1 c2 c3 c4
#var1 0.3333333 0 0 1
#var2 -1.0000000 -1 -1 -1
#var3 0.3333333 1 0 0
#var4 0.3333333 0 1 0