I am in interested in how do effect coding in R. I know that someone else has asked this question (i.e https://stats.stackexchange.com/questions/52132/how-to-do-regression-with-effect-coding-instead-of-dummy-coding-in-r). Here is the lm() model on its own: Fixed.Full<-lm(sqrtClay_Tot ~ Physio.Code+ROCKTYPE1, data=PedonsTx_Reread, contrasts = list(Factor.0.Physio = contr.sum)) > summary(Fixed.Full) Call: lm(formula = sqrtClay_Tot ~ Physio.Code + ROCKTYPE1, data = PedonsTx_Reread) Residuals: Min 1Q Median 3Q Max -4.5719 -1.1543 0.0102 1.1366 6.0146 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 5.18961 0.54194 9.576 < 2e-16 *** Physio.Code2 -0.90588 0.15752 -5.751 1.11e-08 *** Physio.Code3 0.70532 0.21141 3.336 0.000874 *** Physio.Code4 0.56462 0.31295 1.804 0.071444 . Physio.Code7 -0.04656 0.26410 -0.176 0.860075 Physio.Code8 -0.41242 0.24330 -1.695 0.090294 . Physio.Code9 -0.81833 0.32048 -2.553 0.010782 * Physio.Code11 -0.04619 0.16420 -0.281 0.778515 ROCKTYPE1chert 1.43390 1.80191 0.796 0.426319 ROCKTYPE1clay or mud 0.35031 0.53861 0.650 0.515562 ROCKTYPE1evaporite -0.95719 0.65049 -1.471 0.141408 ROCKTYPE1fine-grained mixed clastic -1.02193 0.59167 -1.727 0.084377 . ROCKTYPE1gravel -0.16708 0.56139 -0.298 0.766041 ROCKTYPE1limestone 0.36667 0.55323 0.663 0.507585 ROCKTYPE1mudstone 0.18934 0.58553 0.323 0.746476 ROCKTYPE1rhyolite -0.25743 0.83684 -0.308 0.758426 ROCKTYPE1sand -0.92281 0.53193 -1.735 0.083014 . ROCKTYPE1sandstone -1.57669 0.57599 -2.737 0.006281 ** ROCKTYPE1serpentinite -0.18647 1.84384 -0.101 0.919464 ROCKTYPE1shale 0.34408 0.62577 0.550 0.582518 ROCKTYPE1silt -0.82415 0.65554 -1.257 0.208912 ROCKTYPE1siltstone -1.21094 0.79293 -1.527 0.126970 ROCKTYPE1terrace -0.64082 0.60119 -1.066 0.286663 ROCKTYPE1tuff 1.10034 1.31108 0.839 0.401482 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.748 on 1261 degrees of freedom Multiple R-squared: 0.2072, Adjusted R-squared: 0.1928 F-statistic: 14.33 on 23 and 1261 DF, p-value: < 2.2e-16 Now here is the model using effecting coding within lm(): > Fixed.Full<-lm(sqrtClay_Tot ~ Physio.Code+ROCKTYPE1, data=PedonsTx_Reread, + contrasts = list(Physio.Code = contr.sum)) > summary(Fixed.Full) Call: lm(formula = sqrtClay_Tot ~ Physio.Code + ROCKTYPE1, data = PedonsTx_Reread, contrasts = list(Physio.Code = contr.sum)) Residuals: Min 1Q Median 3Q Max -4.5719 -1.1543 0.0102 1.1366 6.0146 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 5.06968 0.50933 9.954 < 2e-16 *** Physio.Code1 0.11993 0.13291 0.902 0.36703 Physio.Code2 -0.78595 0.11689 -6.724 2.68e-11 *** Physio.Code3 0.82525 0.15844 5.208 2.22e-07 *** Physio.Code4 0.68455 0.24897 2.750 0.00605 ** Physio.Code5 0.07337 0.21084 0.348 0.72792 Physio.Code6 -0.29249 0.18905 -1.547 0.12208 Physio.Code7 -0.69840 0.26157 -2.670 0.00768 ** ROCKTYPE1chert 1.43390 1.80191 0.796 0.42632 ROCKTYPE1clay or mud 0.35031 0.53861 0.650 0.51556 ROCKTYPE1evaporite -0.95719 0.65049 -1.471 0.14141 ROCKTYPE1fine-grained mixed clastic -1.02193 0.59167 -1.727 0.08438 . ROCKTYPE1gravel -0.16708 0.56139 -0.298 0.76604 ROCKTYPE1limestone 0.36667 0.55323 0.663 0.50759 ROCKTYPE1mudstone 0.18934 0.58553 0.323 0.74648 ROCKTYPE1rhyolite -0.25743 0.83684 -0.308 0.75843 ROCKTYPE1sand -0.92281 0.53193 -1.735 0.08301 . ROCKTYPE1sandstone -1.57669 0.57599 -2.737 0.00628 ** ROCKTYPE1serpentinite -0.18647 1.84384 -0.101 0.91946 ROCKTYPE1shale 0.34408 0.62577 0.550 0.58252 ROCKTYPE1silt -0.82415 0.65554 -1.257 0.20891 ROCKTYPE1siltstone -1.21094 0.79293 -1.527 0.12697 ROCKTYPE1terrace -0.64082 0.60119 -1.066 0.28666 ROCKTYPE1tuff 1.10034 1.31108 0.839 0.40148 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.748 on 1261 degrees of freedom Multiple R-squared: 0.2072, Adjusted R-squared: 0.1928 F-statistic: 14.33 on 23 and 1261 DF, p-value: < 2.2e-16 The code above is functional within the lm() function as seen above,and what I am trying to do in the code above is to predict clay content (square-root transformed) from the categorical variables 'Physio.Code' and 'ROCKTYPE1'. What I would like to know, however, is if there is any way to do effect coding using the gls() or glm() functions in R, where method="REML" or REML estimation can be used. I am interested in comparing the levels within 'Physio.Code' specifically to to the grand sample mean (i.e. sum contrasts). The other question I had was how to interpret the numbers after the categorical variable and whether they correspond to the same levels. With respect to 'Physio.Code', in the two models above '1' was used as the baseline - the levels were originally '1,2,3,4,7,8,9,11" but when '1' was used as the baseline group, it switched to "2,3,4,7,8,9" - I wasn't sure if levels are the same (i.e. Physio.Code2 in model is the same as Physio.Code1 in the 2nd model). Thank you.