Ooops. One typo in the estimable command: > estimable(ModelFit, c('IQ:age'=1, 'IQ:I(age^2)'= 1, 'IQ:I(age^3)' = > 1))
(Remove a trailing space in the second string.) -G On Nov 2, 2007, at 11:51AM , Gregory Warnes wrote: > Hello Gang, > > First, if you would like to performa an overall test of whether the > IQ interactions are necessary, you may find it most useful to use > anova to compare a full and reduced model. Something like: > > ModelFit.full <-lme(mct~ IQ*age+IQ*I(age^2)+IQ*I(age^3), MyData, > random=~1|ID) > ModelFit.reduced <-lme(mct~ IQ + age+I(age^2)+I(age^3), MyData, > random=~1|ID) > anova(ModelFit.full, ModelFit.reduced, test="F") > > Second, you don't have the syntax right for estimable(). As > described and shown by example in the manual page. The correct > syntax is: > > library(gmodels) > estimable(ModelFit, c('IQ:age'=1, 'IQ:I(age^2) '= 1, 'IQ:I(age^3)' = > 1)) > > Note the pattern of quoted name, followed by '=', and then the value > 1 (not zero). This will perform a single joint test whether these > three coefficients are zero. > > -G > > > > On Oct 30, 2007, at 5:26PM , Gang Chen wrote: > >> Dieter, >> >> Thank you very much for the help! >> >> I tried both glht() in multcomp and estimable() in gmodels, but >> couldn't get them work as shown below. Basically I have trouble >> specifying those continuous variables. Any suggestions? >> >> Also it seems both glht() and estimable() would give multiple t >> tests. Is there a way to obtain sort of partial F test? >> >> >>> ModelFit<-lme(mct~ IQ*age+IQ*I(age^2)+IQ*I(age^3), MyData, >> random=~1|ID) >>> anova(ModelFit) >> >> mDF denDF F-value p-value >> (Intercept) 1 257 54393.04 <.0001 >> IQ 1 215 3.02 0.0839 >> age 1 257 46.06 <.0001 >> I(age^2) 1 257 8.80 0.0033 >> I(age^3) 1 257 21.30 <.0001 >> IQ:age 1 257 1.18 0.2776 >> IQ:I(age^2) 1 257 0.50 0.4798 >> IQ:I(age^3) 1 257 0.23 0.6284 >> >>> library(multcomp) >>> glht(ModelFit, linfct = c("IQ:age = 0", "IQ:I(age^2) = 0", "IQ:I >> (age^3) = 0")) >> Error in coefs(ex[[3]]) : >> cannot interpret expression 'I''age^2' as linear function >> >>> library(gmodels) >>> estimable(ModelFit, rbind('IQ:age'=0, 'IQ:I(age^2) = 0', 'IQ:I >> (age^3) = 0')) >> Error in FUN(newX[, i], ...) : >> `param' has no names and does not match number of coefficients of >> model. Unable to construct coefficient vector >> >> Thanks, >> Gang >> >> >> On Oct 30, 2007, at 9:08 AM, Dieter Menne wrote: >> >> >>> Gang Chen <gangchen <at> mail.nih.gov> writes: >>> >>> >>>> >>>> Suppose I have a mixed-effects model where yij is the jth sample >>>> for >>>> the ith subject: >>>> >>>> yij= beta0 + beta1(age) + beta2(age^2) + beta3(age^3) + beta4(IQ) + >>>> beta5(IQ^2) + beta6(age*IQ) + beta7(age^2*IQ) + beta8(age^3 *IQ) >>>> +random intercepti + eij >>>> >>>> In R how can I get an F test against the null hypothesis of >>>> beta6=beta7=beta8=0? In SAS I can run something like contrast >>>> age*IQ >>>> 1, age^2*IQ 1, age^3 *IQ 1, but is there anything similar in R? >>>> >>> >>> Check packages multcomp and gmodels for contrast tests that work >>> with lme. >>> >>> Dieter >>> >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting- >> guide.html >> and provide commented, minimal, self-contained, reproducible code. > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting- > guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.