[R] analysing mixed effects/poisson/correlated data
Alexandra Bremner
alexandra.bremner at uwa.edu.au
Sat Mar 8 09:57:02 CET 2008
I am attempting to model data with the following variables:
timepoint - n=48, monthly over 4 years
hospital - n=3
opsn1 - no of outcomes
total.patients
skillmixpc - skill mix percentage
nurse.hours.per.day
Aims
To determine if skillmix affects rate (i.e. no.of.outcomes/total.patients).
To determine if nurse.hours.per.day affects rate.
To determine if rates vary between hospitals.
There is first order autoregression in the data. I have attempted to use the lmer function (and lmer2) with correlation structure and weights:
test1 <-lmer(opsn1~timepoint+as.factor(hospital)+ skillmixpc + nursehrsperpatday +(timepoint|hospital) +offset(log(totalpats)),family=poisson, data=opsn.totals)
test2 <-lmer(opsn1~timepoint+as.factor(hospital)+ skillmixpc + nursehrsperpatday +(timepoint|hospital)+offset(log(totalpats)),family=poisson, data=opsn.totals, correlation=corAR1(form=~1|hospital))
test3 <-lmer(opsn1~timepoint+as.factor(hospital)+ skillmixpc + nursehrsperpatday +(timepoint|hospital)+offset(log(totalpats)),family=poisson, data=opsn.totals, correlation=corAR1(form=~1|hospital),weights=varIdent(form=~1|hospital))
Test1 & test2 give the same output (below). Does this mean that the correlation structure is not being used?
Test3 produces the following error message (I notice there are others who have had problems with weights).
Error in model.frame(formula, rownames, variables, varnames, extras, extranames, :
variable lengths differ (found for '(weights)')
> summary(test1)
Generalized linear mixed model fit using Laplace
Formula: opsn1 ~ timepoint + as.factor(hospital) + skillmixpc + nursehrsperpatday + (timepoint | hospital) + offset(log(totalpats))
Data: opsn.totals
Family: poisson(log link)
AIC BIC logLik deviance
196.2 223.0 -89.12 178.2
Random effects:
Groups Name Variance Std.Dev. Corr
hospital (Intercept) 3.9993e-03 6.3240e-02
timepoint 5.0000e-10 2.2361e-05 0.000
number of obs: 144, groups: hospital, 3
Estimated scale (compare to 1 ) 1.057574
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.784857 1.437283 -1.9376 0.0527 .
timepoint -0.002806 0.002709 -1.0358 0.3003
as.factor(hospital)2 -0.030277 0.120896 -0.2504 0.8022
as.factor(hospital)3 -0.349763 0.171950 -2.0341 0.0419 *
skillmixpc -0.026856 0.015671 -1.7137 0.0866 .
nursehrsperpatday -0.025376 0.043556 -0.5826 0.5602
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation of Fixed Effects:
(Intr) timpnt as.()2 as.()3 skllmx
timepoint -0.606
as.fctr(h)2 -0.382 0.132
as.fctr(h)3 -0.734 0.453 0.526
skillmixpc -0.996 0.596 0.335 0.715
nrshrsprptd 0.001 -0.297 0.204 -0.130 -0.056
Can anyone suggest another way that I can do this analysis please? Or a work around for this method?
Any help will be gratefully received as I have to model 48 different opsn outcomes.
Alex
More information about the R-help
mailing list