【问题标题】:Adding trends to a curve plotted from beta regression model向从 beta 回归模型绘制的曲线添加趋势
【发布时间】:2018-09-20 00:58:36
【问题描述】:

我有下面的示例数据集和代码,希望您能帮助我从 beta 回归模型向曲线添加趋势,以便可视化变量 temp 的预期值 yield 的值超出范围200-450.

library(ggplot2)
library(plotly)
library(betareg)
data("GasolineYield", package = "betareg")
md <- betareg(yield ~ temp, data = GasolineYield,
                 link = "cloglog")

ggplotly(
ggplot(GasolineYield, aes(x = temp, y = yield)) +
geom_point(size = 4, aes(fill = batch), shape = 21) +
geom_line(aes(y = predict(md, GasolineYield)), col="red") +
theme_classic())  

更新

原来我需要使用pred.zoib而不是predict,因为我的数据是zero-and-one inflated,并且简单地用另一个替换一个不起作用并给出这个错误:

Error in FUN(X[[i]], ...) : object 'yield' not found

因此,我将不胜感激有关如何调整@Adela 对原始问题的答案以实现相同目标但现在使用zoib package 而不是betareg package 的任何想法。

给出一个示例代码:

library(zoib)
re.md <- zoib(yield ~ temp | 1 | 1, data=GasolineYield,
joint = FALSE, random=1, EUID=GasolineYield$batch,
zero.inflation = FALSE, one.inflation = FALSE,
n.iter=3200, n.thin=15, n.burn=200)

【问题讨论】:

  • 我不喜欢安装 JAGS,但我想zoib 的方法与我在下面描述的方法相同。您是否尝试将我的代码与predict.zoib 一起使用而不是predict
  • 它不需要 JAGS。只需install.packages("zoib") .
  • 嗨,@Adela。关于这个错误来自哪里以及如何解决这个问题的任何想法?提前致谢!
  • 由于没有 JAGS,我无法在没有 rjags 的情况下加载 zoib 包。你能运行你的示例代码吗?您用于预测的代码是什么?
  • rjags 不能在没有 JAGS 的情况下加载。尝试提供您使用的预测代码。

标签: r ggplot2 regression prediction bayesian


【解决方案1】:

您需要预测temp 值超出200-450 范围的新数据。

看我的例子:

# predict with new data
df <- data.frame(yield = predict(md, data.frame(temp = seq(100, 600, 0.01))),
                 temp = seq(100, 600, 0.01))

# plot
ggplotly(
  ggplot() +
    geom_point(data = GasolineYield, 
               aes(x = temp, y = yield, fill = batch),
               size = 4, shape = 21) +
    xlim(100, 600) + 
    geom_line(data = df, aes(y = yield, x = temp), col="red") +
    theme_classic())

【讨论】:

  • 完美,@Adela。这行得通!只是一个小问题,如果您不介意的话:我还想将这些绘制的预测作为 data.frame 与两个变量 yieldtemp。非常感谢!
  • 很高兴听到这个消息!我更新了代码。现在df是你需要的吗?
  • 完全解决了我的问题。请接受我对您的巨大帮助表示最深切的感谢。
猜你喜欢
  • 2013-07-09
  • 2023-04-07
  • 2016-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
  • 1970-01-01
相关资源
最近更新 更多