在双因子ANOVA的背景下,我想输入另一个因子(SpeciesA,SpeciesB)水平内一个因子(10,20,30度)的对比度水平。这假定交互作用是显着的,所以对比不能简单地在温度主效应上进行。R:交互作用中的特殊对比
我曾试图在EZanova,multcomp和phia中做到这一点,但一直无法弄清楚有效的语法。我错过了一个允许这个的包吗?
对比度和系数
Contrast1: 10是否度20和30物种A不同? 种类:温度(2,-1,-1,0,0,0) 对比度2:对于物种B,10度与20和30不同吗? 种类:温度(0,0,0,2,-1,-1) 对比度3:物种A的10度与物种B的20度和30度不同? 种类:温度(2,0,0,0,-1,-1)
species<-rep(c("speciesA","speciesB"),each=12)
temp<-rep(rep(c("10","20","30"),each=4),2)
y<-rnorm(24,5,3)
(result<-anova(lm(y~species*temp)))
查看'stats'包中的'contrasts'。你可以使用不同的函数来创建对比矩阵(例如'contrasts','contr.treatment','contr.poly','contr.helmert'等) –
我试过了:'anova(lm(y 〜物种*温度+ C(温度, contr =矩阵(c(2,-1,-1,0,0,0,0,0,0,2,-1,-1,2,0,0, 0,-1,-1), nrow = 3,ncol = 6,byrow = T),how.many = 6)+ C(species, contr = matrix(c(2,-1,-1,0 ,0,0,0,0,0,2,-1,-1,2,0,0,0,-1,-1), nrow = 2,ncol = 6,byrow = T),如何。 many = 6))),但是输出仍然与没有用C()'添加对比矩阵相同。 –