表示三向交互的参数化

时间:2015-04-08 19:17:54

标签: r lmer

我在lmer中拟合了一个包含三向交互项的模型,其中两个变量是分类的,一个是连续的。我试图恢复所有斜率和截距的均值参数化,而不是效果参数化,这是lmer中的默认值,但我坚持正确的编码。例如(不包括随机效应),使用虹膜数据集我做了一个额外的分类变量(土壤),并使模型与物种,萼片宽度和土壤拟合:

data(iris)
iris$Soil<-c(rep(c("Y","N"),75) #my made up second factor
summary(lm(Sepal.Length~Species*Soil*Sepal.Width-1-Species-Soil-Sepal.Width,data=iris))

给出

的输出
Coefficients:
                                Estimate Std. Error t value Pr(>|t|)    
Speciessetosa:SoilN                   2.9752     0.7069   4.209 4.60e-05 ***
Speciesversicolor:SoilN               3.0580     0.8293   3.688 0.000324 ***
Speciesvirginica:SoilN                2.7583     0.7543   3.657 0.000362 ***
Speciessetosa:SoilY                   1.9934     0.9520   2.094 0.038105 *  
Speciesversicolor:SoilY               3.9449     0.7379   5.346 3.63e-07 ***
Speciesvirginica:SoilY                5.7967     0.9106   6.366 2.68e-09 ***
Speciessetosa:Sepal.Width             0.5962     0.2078   2.869 0.004765 ** 
Speciesversicolor:Sepal.Width         1.0210     0.2984   3.422 0.000819 ***
Speciesvirginica:Sepal.Width          1.2994     0.2488   5.223 6.33e-07 ***
SoilY:Sepal.Width                     0.2747     0.3426   0.802 0.424163    
Speciesversicolor:SoilY:Sepal.Width  -0.5582     0.5255  -1.062 0.289953    
Speciesvirginica:SoilY:Sepal.Width   -1.3331     0.5240  -2.544 0.012061 *

最后三个斜率值(Soil = Y)仍然在效果参数化中,我无法找到正确的编码来获得平均值。我认为这可能吗?任何建议将不胜感激。

1 个答案:

答案 0 :(得分:2)

我不太确定你想要什么,但我认为这样做:

##  data(iris)  ## not actually necessary (lazy-loading)
iris2 <- transform(iris,
            Soil=rep(c("Y","N"),75))

coef(lm(Sepal.Length~0+Species:Soil+Species:Soil:Sepal.Width,
           data=iris2))

如果你想减法地做,你可以通过

来做
coef(lm(Sepal.Length~Species*Soil*Sepal.Width-
           (Species+Soil)*(1+Sepal.Width)-1,
           data=iris2))

您是否也要将萼片宽度居中(scale(Sepal.Width,scale=FALSE))?

您可能会发现effectslsmeans套餐也很有用。