[R] using betareg: problems with anova and predict
Paul Johnson
pauljohn32 at gmail.com
Mon Apr 17 21:33:06 CEST 2006
Dear R-helpers:
We have had fun using betareg to fit models with proportions as
dependent variables.
However, in the analysis of these models we found some wrinkles and
don't know where is the best place to start looking for a fix.
The problems we see (so far) are that
1. predict ignores newdata
2. anova does not work
Here is the small working example:
----------------------------
x <- c(1, 3, 1, 4, 5, 3, 5, 2, 5, 2)
y <- c(.3, .4, .4, .5, , .7, .4, .3, .4, .3, .5)
x2 <- c( 4, 2, 1, 5, 1, 2, 4, 2, 1, 3)
library(betareg)
mybreg <- betareg(y~x)
summary(mybreg)
predict(mybreg, newdata=data.frame(x=c(2,2)))
mybreg2 <- betareg(y~x+x2)
summary(mybreg)
anova(mybreg, mybreg2)
-------------------------------
Example output:
> predict(mybreg, newdata=data.frame(x=c(2,2)))
[1] 0.3903155 0.4207632 0.3903155 0.4362319 0.4518258 0.4207632 0.4518258
[8] 0.4054484 0.4518258 0.4054484
...
> anova(mybreg, mybreg2)
Error in as.double.default(lapply(objects, df.residual)) :
(list) object cannot be coerced to 'double'
I have been digging in this a little bit and notice betareg does not
return the log likelihood at the maximum likelihood estimates, but I
am able to hack the file /usr/lib/R/library/betareg/R/betareg and save
the "value" of the optim function and print that out, so at least I
can do a likelihood-ratio test by hand in place of the anova. But I'm
stumped on why the predict ignores newdata.
I'm using R-2.1.1 on Fedora Core Linux 5 with the betareg package from CRAN.
In case you are interested in betareg, we have found this article to
be extremely readable and helpful: FERRARI, S.L.P., CRIBARI-NETO, F.
(2004). Beta regression for modeling rates and proportions. Journal
of Applied Statistics, v. 31, n. 7, p. 799-815.
--
Paul E. Johnson
Professor, Political Science
1541 Lilac Lane, Room 504
University of Kansas
More information about the R-help
mailing list