Dear list In HLM, one can specify a covariate at one of the "levels". For example, if the data structure are repeated observations nested within students nested within schools, school size might be a covariate that is used at level 3, but not at the other levels. In HLM this is rather easy to do. However, how can one specify a covariate in R for only one of the levels? I have a sample data set with the structure as described above. I fit the unconditional model in R as model1<-lme(math~year, random=~year|schoolid/childid, data=datafile) Now, if I want to enter "female" as a covariate at level 2 only, how might I modify the code to accomplish this? ------ Harold C. Doran Director of Research and Evaluation New American Schools 675 N. Washington Street, Suite 220 Alexandria, Virginia 22314 703.647.1628 <http://www.edperform.net/> [[alternative HTML version deleted]]
I am foggy on this myself, but I *think* it is inferred from the grouping structure in the call to (n)lme or in the groupedData data structure. Have a look at ?groupedData in R for more details. ap ---------------------------------------------------------------------- Andrew J Perrin - http://www.unc.edu/~aperrin Assistant Professor of Sociology, U of North Carolina, Chapel Hill clists at perrin.socsci.unc.edu * andrew_perrin (at) unc.edu On Wed, 25 Jun 2003, Harold Doran wrote:> Dear list > > In HLM, one can specify a covariate at one of the "levels". For example, if the data structure are repeated observations nested within students nested within schools, school size might be a covariate that is used at level 3, but not at the other levels. In HLM this is rather easy to do. > > However, how can one specify a covariate in R for only one of the levels? I have a sample data set with the structure as described above. I fit the unconditional model in R as > > model1<-lme(math~year, random=~year|schoolid/childid, data=datafile) > > Now, if I want to enter "female" as a covariate at level 2 only, how might I modify the code to accomplish this? > > ------ > Harold C. Doran > Director of Research and Evaluation > New American Schools > 675 N. Washington Street, Suite 220 > Alexandria, Virginia 22314 > 703.647.1628 > <http://www.edperform.net/> > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help >
"Harold Doran" <hdoran at nasdc.org> writes:> In HLM, one can specify a covariate at one of the "levels". For > example, if the data structure are repeated observations nested > within students nested within schools, school size might be a > covariate that is used at level 3, but not at the other levels. In > HLM this is rather easy to do. > > However, how can one specify a covariate in R for only one of the > levels? I have a sample data set with the structure as described > above. I fit the unconditional model in R as > > model1<-lme(math~year, random=~year|schoolid/childid, data=datafile) > > Now, if I want to enter "female" as a covariate at level 2 only, how > might I modify the code to accomplish this?There is no distinction between level 1 and level 2 variables in the fixed-effects part of an lme model. Once the data are organized in a composite table (i.e. one table that includes the value of each covariate for each observation) one simply writes a linear model expression for the fixed effects. You need to incorporate the female indicator into your 'datafile' data frame. The merge function is a good way to do this (I had forgotten about the merge function when we spoke about this a few weeks ago). After that you could fit a model using, say, model2 <- lme(math ~ year * female, random=~year|schoolid/childid, data = datafile) -- Douglas Bates bates at stat.wisc.edu Statistics Department 608/262-2598 University of Wisconsin - Madison http://www.stat.wisc.edu/~bates/