Jesús María Frías Celayeta
2000-Jan-14 11:14 UTC
[R] Help with contrast settings in glm and lm
Hi! I am trying to validate some R code that we have been porting from S (ellipse library) and now we are on the step of trying with some examples to see if the code gives the same results as in S. I have received some results from S-PLUS 4.5 help examples and I have some trouble reproducing them. Apparently S+ uses helbert contrasts in categorical variables as a default and R uses contrasts based in orthogonal polynomials. However, in R there exists contr.helmert and I would like to actually set R in a way that a regression procedure will use helmert type contrasts (as in S+), in order to have the same results. Is there a way to change the default contrasts used in regression (lm and glm) so that after it the regression uses those contrasts? I have tried options() with no too much sucess. I am probably loosing some page in the manual, so just in the case I excuse myself in advance. This is the detailed thing. 1.-My fit with cntr.poly (the default) is> glmfit.RCall: glm(formula = skips ~ ., family = poisson, data = solder.balance) Coefficients: (Intercept) Opening.L Opening.Q Solder.L MaskA3 MaskB3 -0.06267 -1.33890 0.56194 -0.77763 0.42819 1.20225 MaskB6 PadTypeD4 PadTypeL4 PadTypeD6 PadTypeL6 PadTypeD7 1.86648 0.11000 0.37237 -0.25865 -0.55845 0.01156 PadTypeL7 PadTypeL8 PadTypeW9 PadTypeL9 Panel2 Panel3 -0.38021 -0.16115 -1.32758 -0.52645 0.33352 0.25440 Degrees of Freedom: 719 Total (i.e. Null); 702 Residual Null Deviance: 6856 Residual Deviance: 1130 AIC: 2749 2.-When I change the options for the contrasts for contr.helmert to try to emulate S+ results.> options(contrasts=c("contr.treatment", "contr.helmert")) > glmfit.R.2<- glm(formula = skips ~ ., family = poisson, data solder.balance) > glmfit.R.2Call: glm(formula = skips ~ ., family = poisson, data = solder.balance) Coefficients: (Intercept) Opening1 Opening2 Solder1 MaskA3 MaskB3 -0.06267 -0.81749 -0.35867 -0.54987 0.42819 1.20225 MaskB6 PadTypeD4 PadTypeL4 PadTypeD6 PadTypeL6 PadTypeD7 1.86648 0.11000 0.37237 -0.25865 -0.55845 0.01156 PadTypeL7 PadTypeL8 PadTypeW9 PadTypeL9 Panel2 Panel3 -0.38021 -0.16115 -1.32758 -0.52645 0.33352 0.25440 Degrees of Freedom: 719 Total (i.e. Null); 702 Residual Null Deviance: 6856 Residual Deviance: 1130 AIC: 2749> options("contrasts")$contrasts [1] "contr.treatment" "contr.helmert" which is the same as in 1 3.- This result does quite differ from the glm in S+ using helmert contrasts:> glmfitCall: glm(formula = skips ~ ., family = poisson, data = solder.balance) Coefficients: (Intercept) Opening.L Opening.Q Solder Mask1 Mask2 Mask3 PadType1 PadType2 0.7356797 -1.338898 0.5619403 -0.7776274 0.2140968 0.3293834 0.3307507 0.05500044 0.1057882 PadType3 PadType4 PadType5 PadType6 PadType7 PadType8 PadType9 Panel1 -0.1048597 -0.1228765 0.01308473 -0.04662037 -0.007583584 -0.1355021 -0.02828819 0.1667612 Panel2 0.02921374 Degrees of Freedom: 720 Total; 702 Residual Residual Deviance: 1130.48 Thanks in advance for any help, IOsu ------------------------------------------------------------------------------- Jes?s Mar?a Fr?as Celayeta "Valeu a pena? Tudo vale a pena ENSIA-INRA, Av. des Olympiades, 1 se a alma n?o ? pequena 91744, Massy. FRANCE Quem quer passar al?m do Bojador Fax:intl+33+1+69935185 Tem que passar al?m da dor. Phone:intl+33+1+69935191 Deus ao mar o perigo e abismo deu, Mas nele ? que espelhou o c?u" ------------------------------------------------------------------------------- -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._