[R] Name for factor's levels with contr.sum

Christoph Buser buser at stat.math.ethz.ch
Wed Jul 13 17:41:13 CEST 2005


Dear Ghislain

I do not know a general elegant solution, but for some
applications the following example may be helpful:

## Artificial data for demonstration: group is fixed, species is random 
dat <- data.frame(group = c(rep("A",20),rep("B",17),rep("C",24)),
                  species = c(rep("sp1", 4), rep("sp2",5),   rep("sp3",5),
                    rep("sp4",6),  rep("sp5",2),  rep("sp6",5),  rep("sp7",3),
                    rep("sp8",3), rep("sp9",4), rep("sp10",6),  rep("sp11",6),
                    rep("sp12",6), rep("sp13",6)),
                  area = rnorm(61))

## You can attach a contrast at your fixed factor of interest "group"
## Create the contrast you like to test (in our case contr.sum for 3
## levels)
mat <- contr.sum(3)
## You can add the names you want to see in the output
## Be carefull that you give the correct names to the concerned
## column. Otherwise there is the big danger of misinterpretation.
colnames(mat) <- c(": A against rest", ": B against rest")
## Attatch the contrast at your factor "group"
dat[,"group"] <- C(dat[,"group"],mat)
## Now calculate the lme
library(nlme)
reg.lme <- lme(area ~ group, data = dat, random = ~ 1|species)
summary(reg.lme)

Maybe someone has a better idea how to do it generally.

Hope this helps

Christoph Buser

--------------------------------------------------------------
Christoph Buser <buser at stat.math.ethz.ch>
Seminar fuer Statistik, LEO C13
ETH (Federal Inst. Technology)	8092 Zurich	 SWITZERLAND
phone: x-41-44-632-4673		fax: 632-1228
http://stat.ethz.ch/~buser/
--------------------------------------------------------------


Ghislain Vieilledent writes:
 > Good morning,
 > 
 > I used in R contr.sum for the contrast in a lme model:
 > 
 > > options(contrasts=c("contr.sum","contr.poly"))
 > > Septo5.lme<-lme(Septo~Variete+DateSemi,Data4.Iso,random=~1|LieuDit)
 > > intervals(Septo5.lme)$fixed
 > lower est. upper
 > (Intercept) 17.0644033 23.106110 29.147816
 > Variete1 9.5819873 17.335324 25.088661
 > Variete2 -3.3794907 6.816101 17.011692
 > Variete3 -0.5636915 8.452890 17.469472
 > Variete4 -22.8923812 -10.914912 1.062558
 > Variete5 -10.7152821 -1.865884 6.983515
 > Variete6 0.2743390 9.492175 18.710012
 > Variete7 -23.7943250 -15.070737 -6.347148
 > Variete8 -21.7310554 -12.380475 -3.029895
 > Variete9 -27.9782575 -17.480555 -6.982852
 > DateSemi1 -5.7903419 -1.547875 2.694592
 > DateSemi2 3.6571596 8.428417 13.199675
 > attr(,"label")
 > [1] "Fixed effects:"
 > 
 > How is it possible to obtain a return with the name of my factor's levels as 
 > with contr.treatment ?
 > 
 > Thanks for you help.
 > 
 > -- 
 > Ghislain Vieilledent
 > 30, rue Bernard Ortet 31 500 TOULOUSE
 > 06 24 62 65 07
 > 
 > 	[[alternative HTML version deleted]]
 > 
 > ______________________________________________
 > R-help at stat.math.ethz.ch mailing list
 > https://stat.ethz.ch/mailman/listinfo/r-help
 > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list