我刚刚发现使用Betareg软件包进行Beta回归,我希望看到一个完整的简单示例,使用predict()并绘制拟合的回归曲线,如betareg vignette文档中的图2第9页(使用来自Prater的汽油产量数据)。作者的示例(下面)仅给出了回归的摘要。 http://cran.r-project.org/web/packages/betareg/vignettes/betareg.pdf
data("GasolineYield", package = "betareg")
gy_logit <- betareg(yield ~ batch + temp, data = GasolineYield)
summary(gy_logit)
...
答案 0 :(得分:2)
可以从R:
中轻松查询betareg插图中图形的确切代码edit(vignette("betareg", package = "betareg"))
汽油的例子是3-5块。或者,您也可以在R-Forge https://R-Forge.R-project.org/scm/viewvc.php/pkg/vignettes/?root=betareg上查看软件包的源代码,或者使用Gregor指向的Github上的副本。
如果你想要一个 ggplot2 版本,你可以使用Sven的答案。但是,将模型仅适用于子集(批处理==“6”)通常不是一个好主意。在这个特定的数据集中,估计的模型非常类似于拟合完整数据的模型,但对于其他数据集,它可能导致较差的参数估计。相反,估计完整样本,然后通过保持一些变量固定并让其他变量变化来预测效果。这也是效果包的功能(但遗憾的是我们尚未设置 betareg 和效果的插件)。
答案 1 :(得分:1)
使用ggplot2
的方法:
首先,为batch == 6
:
library(betareg)
data("GasolineYield", package = "betareg")
gy_logit <- betareg(yield ~ temp, data = GasolineYield, subset = batch == 6)
gy_loglog <- betareg(yield ~ temp, data = GasolineYield, subset = batch == 6,
link = "loglog")
其次,绘制数据:
library(ggplot2)
ggplot(GasolineYield, aes(x = temp, y = yield)) +
geom_point(size = 4, aes(fill = batch), shape = 21) +
scale_fill_grey() +
geom_line(aes(y = predict(gy_loglog, GasolineYield),
colour = "log-log", linetype = "log-log")) +
geom_line(aes(y = predict(gy_logit, GasolineYield),
colour = "logit", linetype = "logit")) +
scale_colour_manual("", values = c("red", "blue")) +
scale_linetype_manual("", values = c("solid", "dashed")) +
theme_bw()