使用 'zoib' R 包进行 beta 回归时 'ts' 函数出错
Error in 'ts' function when using 'zoib' R package for beta regression
我正在使用 R 包 'zoib' 在 R 中执行 beta 回归。我正在尝试复制包作者发表在 The R Journal 上的论文第 41 页中包含的示例:
我相信我使用的数据和代码与他们使用的完全相同:
library(zoib)
data("GasolineYield", package="zoib")
GasolineYield$batch <- as.factor(GasolineYield$batch)
d <- GasolineYield
eg1.fixed <- zoib(yield ~ temp + as.factor(batch) | 1, data=GasolineYield, joint=FALSE,
random=0, EUID=1:nrow(d), zero.inflation=F, one.inflation=F,
n.iter=1050, n.thin=5, n.burn=50)
sample1 <- eg1$coeff
traceplot(sample1)
autocorr.plot(sample1)
gelman.diag(sample1)
但是,当我尝试对样本进行诊断时出现错误。这是错误消息:
Error in ts(seq(from = start(x), to = end(x), by = thin(x)), start = start(x), :
invalid time series parameters specified
我无法理解为什么代码无法正常工作,也无法理解如何解决该问题。我可以将错误追溯到由 zoib
调用的 time
函数,看起来样本对象没有 tsp
属性可能是个问题,但是 zoib
包作者明确表示他们的模型输出是要与 coda
一起使用的,所以我很困惑。我没有太多使用 MCMC 或时间序列对象的经验,所以也许我只是遗漏了一些明显的东西。任何人都可以解释为什么包作者提供的示例失败,解决方案是什么?
我给软件包作者 (Fang Liu) 发了电子邮件,她告诉我实际上我的软件包版本中存在一个错误,但该错误已在 [= 的最新版本中修复10=](版本 1.4.2)。使用最新版本,代码现在可以工作了。
我正在使用 R 包 'zoib' 在 R 中执行 beta 回归。我正在尝试复制包作者发表在 The R Journal 上的论文第 41 页中包含的示例:
我相信我使用的数据和代码与他们使用的完全相同:
library(zoib)
data("GasolineYield", package="zoib")
GasolineYield$batch <- as.factor(GasolineYield$batch)
d <- GasolineYield
eg1.fixed <- zoib(yield ~ temp + as.factor(batch) | 1, data=GasolineYield, joint=FALSE,
random=0, EUID=1:nrow(d), zero.inflation=F, one.inflation=F,
n.iter=1050, n.thin=5, n.burn=50)
sample1 <- eg1$coeff
traceplot(sample1)
autocorr.plot(sample1)
gelman.diag(sample1)
但是,当我尝试对样本进行诊断时出现错误。这是错误消息:
Error in ts(seq(from = start(x), to = end(x), by = thin(x)), start = start(x), :
invalid time series parameters specified
我无法理解为什么代码无法正常工作,也无法理解如何解决该问题。我可以将错误追溯到由 zoib
调用的 time
函数,看起来样本对象没有 tsp
属性可能是个问题,但是 zoib
包作者明确表示他们的模型输出是要与 coda
一起使用的,所以我很困惑。我没有太多使用 MCMC 或时间序列对象的经验,所以也许我只是遗漏了一些明显的东西。任何人都可以解释为什么包作者提供的示例失败,解决方案是什么?
我给软件包作者 (Fang Liu) 发了电子邮件,她告诉我实际上我的软件包版本中存在一个错误,但该错误已在 [= 的最新版本中修复10=](版本 1.4.2)。使用最新版本,代码现在可以工作了。