【发布时间】:2020-10-13 19:29:45
【问题描述】:
我正在尝试为stan_glmer.nb (rstanarm) 输出创建一个表,但是parameters 包中的model_parameters 抛出了一个奇怪的错误,我不确定如何解决。也许这是一个错误。
缩短sessionInfo() 输出版本信息:
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
parameters_0.8.2
rstanarm_2.21.1
一个可重现的例子:
library(rstanarm)
library(parameters)
x<-rnorm(500)
dat<-data.frame(x=x,z=rep(c("A","B","C","D","E"),100), y=.2+x*.7)
mod1<-stan_glmer(y~x+(x|z),data=dat)
model_parameters(mod1, effects="all")
我将在这里省略你的输出,因为它并不重要,但该功能有效。 现在是负二项式模型:
dat.nb<-data.frame(x=rnorm(500),z=rep(c("A","B","C","D","E"),100),
y=rnbinom(500,size=1,prob = .5))
mod2<-stan_glmer.nb(y~x+(x|z),data=dat.nb)
model_parameters(mod2, effects="all")
现在出现错误消息:
Error in `$<-.data.frame`(`*tmp*`, "parameter", value = c("(Intercept)", :
replacement has 3 rows, data has 1
尽管使用 parameters 版本 0.10.1,@BenBolker 得到一个空白输出,而不是错误(参见 cmets)。无论哪种方式,这个函数似乎都不适用于rstanarm 离散分布(参见 cmets)。据我在帮助文档中看到的,没有任何迹象表明需要指定负二项式模型。此外,该功能适用于lme4 模型:
library(lme4)
mod1<-lmer(y~x+(x|z),data=dat)
model_parameters(mod1, effects="all")
mod2<-glmer.nb(y~x+(x|z),data=dat.nb)
model_parameters(mod2, effects="all")
此模拟数据存在一些模型收敛问题等,但 model_parameters 适用于 glmer.nb 模型,但不适用于 stan_glmer.nb 模型。知道这里发生了什么吗?
我在使用完全不同的数据集时遇到了同样的问题,但仍然无法弄清楚为什么 parameters::model_parameters 中的“替换”比“数据”多 2 行(参见上面的错误)。另一行可能是函数不期望的reciprocal_dispersion 参数,但不确定为什么该函数会出现负二项式 glmms 的错误,这很常见。
请注意,sjPlot 包中的 tidy_stan 函数仍然适用于这些模型,但会发出警告:
Warning message:
'tidy_stan' is deprecated.
Use 'parameters::model_parameters()' instead.
See help("Deprecated")
然而,如上所述,parameters::model_parameters() 还不起作用。
【问题讨论】:
-
性能 v 0.6.1 我得到 Stan/NB 模型的空白/空输出,而不是错误...
-
这个:
dat<-data.frame(x=rnorm(500),z=rep(c("A","B","C","D","E"),100), y=.2+x*.7)对我不起作用.. y 表达式中的“x”从何而来? -
@BenBolker 我不知道我是怎么不小心写了
performance而不是parameters,但它看起来不像是performance被调用了——很抱歉造成混乱。为清楚起见,对问题进行了编辑。 -
@MrSmithGoesToWashington 抱歉,我已将
x=rnorm(500)拉到数据框参数之外,现在应该可以使用了。当我创建问题时,我必须已经运行了这条线并且在我的工作环境中有 x。 -
也许需要考虑: neg bin 是离散的 .. 尝试使用另一个离散分布我得到同样的错误 ..
标签: r lme4 mixed-models sjplot rstanarm