[R-sig-ME] question about linear mixed models
Douglas Bates
bates at stat.wisc.edu
Thu Jul 8 19:46:12 CEST 2010
On Thu, Jul 8, 2010 at 12:34 PM, JOSE A ALEMAN <aleman at fordham.edu> wrote:
> str(data) returns the following output:
>
> $ country : chr "Australia" "Australia" "Australia"
> "Australia" ...
> $ nation : Factor w/ 18 levels
> "Australia","Austria",..: 1 1 1 1 1 1 1 1 1 1 ...
> $ year : num 1960 1961 1962 1963 1964 ...
year should be a factor if you want to fit models with terms like
(1|nation) + (1|year). In lmer it will be coerced to a factor when
used on the right hand side of a random-effects term but not
necessarily in the model formulations in the nlme package.
> I have two other dependent variables though, and the results differ between
> nmle and lme4.
>
>
>
>
>
> Andrew Dolman
> <andydolman at gmail
> .com> To
> JOSE A ALEMAN <aleman at fordham.edu>
> 07/08/2010 12:32 cc
> PM r-sig-mixed-models at r-project.org
> Subject
> Re: [R-sig-ME] question about
> linear mixed models
>
>
>
>
>
>
>
>
>
>
> That's odd. What does str(data) give you?
>
>
> andydolman at gmail.com
>
>
>
> On 8 July 2010 18:12, JOSE A ALEMAN <aleman at fordham.edu> wrote:
>>
>> Ok, so now I'm slightly confused, because I tried (1 |nation/year) and
> nmle
>> returned the exact same results that lme4 returns when you use the syntax
>> (1 | nation) + (1 | year). I thought was I was trying to estimate was
> cross
>> random effects, not nested random effects. To be more precise, the model
> I
>> want to estimate looks like this:
>>
>> (Embedded image moved to file: pic23743.jpg),
>>
>>
>> where the terms (Embedded image moved to file: pic03517.jpg) and
> (Embedded
>> image moved to file: pic15204.jpg) are varying-intercept parameters for
>> units and time.
>>
>> Yet the output is identical...
>>
>> Thanks,
>>
>> Jose
>>
>>
>>
>> Andrew Dolman
>> <andydolman at gmail
>> .com> To
>> JOSE A ALEMAN <aleman at fordham.edu>
>> 07/08/2010 03:56 cc
>> AM r-sig-mixed-models at r-project.org
>> Subject
>> Re: [R-sig-ME] question about
>> linear mixed models
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Hello Jose,
>>
>> lme4 can handle crossed and nested random effects whereas nlme can
>> only do nested random effects.
>>
>> What you've specified here:
>>
>>> mixed.model <- lmer (y ~ x1+x2+x3 + (1 | nation) + (1 | year),
> data=data)
>>
>> has crossed random effects.
>>
>>> and R returns the following output for the random effects:
>>>
>>> Random effects:
>>> Groups Name Variance Std.Dev.
>>> year (Intercept) 0.00 0.00
>>> nation (Intercept) 9.40 3.07
>>> Residual 2.42 1.56
>>
>> and you seem to have zero variance associated with the random effect
>> "year". This may be a problem with the way you've coded your data
>> which is why it's helpful if you post a sample of your data, or dummy
>> data, with your question.
>>
>> do > head(mydataframe)
>> the output from str (mydataframe) is useful too because we can see how
>> many levels of each factor you have
>>
>>
>> If you want a nested model in lme4 you should specify it as + (1 |
>> nation/year) OR +(1|nation) + (1|nation:year)
>>
>>
>> I'm not sure what the model is that you specified in nlme but it can't
>> be the same as the one for lme4 because nlme cannot do crossed random
>> effects
>>
>>> mixed.effects <- lme (y ~ x1+x2+x3, data=data,
>>> random=~1|nation+1|year, method="REML")
>>
>>
>> Andy.
>>
>
> _______________________________________________
> R-sig-mixed-models at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>
More information about the R-sig-mixed-models
mailing list