[R] weights argument in the lmer function in lme4
Spencer Graves
spencer.graves at pdf.com
Sat Feb 4 03:55:35 CET 2006
I agree: The lmer weights argument seems not to have any effect. To
check this, I modified the first example in the "lmer" documentation as
follows:
Sleep <- sleepstudy
Sleep$wts <- 1:180
(fm1 <- lmer(Reaction ~ Days + (Days|Subject), Sleep))
(fm1w <- lmer(Reaction ~ Days + (Days|Subject),
weights=wts, Sleep))
The numbers from both seemed to be the same. To try to help diagnose
this, I listed "lmer", and found that it consisted of a call to
"standardGeneric". Then 'getMethods("lmer")' listed only one "method"
for the case where the argument "formula" had class "formula". I tried
to trace this further, e.g., by giving it a different name and using
"debug". After being stopped a couple of time by functions hidden in
the "Matrix" namespace, I gave ups.
However, at least you know that it's not you. And I've included Doug
Bates as a "cc" so he can use this info as he sees fit.
hope this helps.
spencer graves
> sessionInfo()
R version 2.2.1, 2005-12-20, i386-pc-mingw32
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "utils" "datasets"
[7] "base"
other attached packages:
lme4 lattice Matrix
"0.995-2" "0.12-11" "0.995-4"
>
Patrick Connolly wrote:
> I suspect the weights argument is not having any effect.
>
> Package: Matrix
> Version: 0.995-2
> Date: 2006-01-19
>
>
> Beginning with this:
>
> Browse[1]> resp.lmer <- lmer(SensSSC ~ Block + Season + (1 | Plot) + (1 | Ma) + (1 | Pa) +
> + (1 | MaPa), weights = SensSSC.N, data = xx)
>
> I group the output into a table with my ran.eff function and get this:
>
> Browse[1]> ran.eff(resp.lmer)
> 01 02 03 04 05 06 07 GCAf RankF
> A 13.714 13.709 13.886 14.124 15.120 13.546 14.586 0.472 1
> B 13.452 NA 13.426 13.632 14.439 13.512 13.713 0.069 3
> C 13.922 13.770 14.353 NA 14.661 13.529 14.367 0.453 2
> D NA NA 13.353 NA NA NA NA -0.051 4
> E 12.775 12.767 12.823 12.767 14.036 12.631 13.645 -0.495 6
> F 13.043 13.338 12.641 12.977 13.848 12.425 13.530 -0.448 5
> GCAm -0.200 -0.169 -0.165 -0.103 0.736 -0.428 0.329 NA NA
> RankM 6.000 5.000 4.000 3.000 1.000 7.000 2.000 NA NA
>
>
> Despite any shortcomings in my ran.eff function, those values look
> alright, but they're the same (to any number of decimal places) as I'd
> get without a weights argument. Just to check that the weights really
> don't effect it, I tried using only the rows with a weight of 5
> (almost 90% of the data) but it was substantially different.
>
> Browse[1]> resp.lmer5 <- lmer(SensSSC ~ Block + Season + (1 | Plot) + (1 | Ma) + (1 | Pa) +
> + (1 | MaPa), subset = SensSSC.N == 5, data = xx)
>
> Browse[1]> ran.eff(resp.lmer5)
> 01 02 03 04 05 06 07 GCAf RankF
> A 13.435 13.349 13.595 13.914 14.722 13.161 14.414 0.345 2
> B 13.068 NA 13.110 13.447 14.121 13.296 13.637 -0.014 4
> C 13.702 13.537 14.256 NA 14.371 13.575 14.247 0.469 1
> D NA NA 13.276 NA NA NA NA -0.001 3
> E 12.717 12.659 12.786 12.719 13.642 12.659 13.556 -0.425 6
> F 13.015 13.101 12.549 12.920 13.629 12.438 13.474 -0.374 5
> GCAm -0.210 -0.230 -0.146 -0.049 0.596 -0.353 0.391 NA NA
> RankM 5.000 6.000 4.000 3.000 1.000 7.000 2.000 NA NA
>
> That seems to indicate that weights cannot be readily ignored.
>
> Has anyone had experience to indicate that the weights argument does
> produce a difference, and so I should be looking somewhere else for
> the reason why I'm getting such results?
>
>
> TIA
>
More information about the R-help
mailing list