问题标签 [glmmtmb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - glmmTMB 出错无法调用 FreeAdFunObject?
我正在运行 R 4.02 和 RStudio 1.3.1073。使用 glmmTMB 运行模型时出现错误。我应该更新还是恢复到不同的版本?
.Call("FreeADFunObject", ptr, PACKAGE = DLL) 中的错误:"FreeADFunObject" 不适用于包 "glmmTMB" 的 .Call()
我在安装时也收到此错误:
.Call 中的错误(“FreeADFunObject”,ptr,PACKAGE = DLL):
“FreeADFunObject”不适用于 .Call() 包“glmmTMB”尝试 URL 'https://cran.rstudio.com/bin/macosx/contrib/ 4.0/glmmTMB_1.0.2.1.tgz' 内容类型 'application/x-gzip' 长度 11403989 字节 (10.9 MB)
r - 设置 R、OpenMP 和 glmmTMB 时遇到问题
我正在研究一些似乎需要大量计算能力的复杂模型。我目前正在使用 R 包“glmmTMB”来解释时空自相关和随机效应。理论上,glmmTMB 应该能够使用并行化运行得更快:https ://cran.r-project.org/web/packages/glmmTMB/vignettes/parallel.html
如果您的操作系统支持 OpenMP 并行化并且 R 是使用 OpenMP 安装的,则 glmmTMB 将自动从 R 的 Makevars 中获取 OpenMP 标志并编译具有 OpenMP 支持的 C++ 模型。如果该标志不可用,则模型将仅使用串行优化进行编译。
我决定在 HPC 环境中设置虚拟机,而不是在我的个人机器上运行这些模型。如何在 Ubuntu 20.04 上使用 OpenMP 安装 R?我找不到有关此主题的任何内容。
r - 尝试使用负二项分布和线性参数化 V = mu(1 + phi) in brms in r
看看是否有人能够在 r 的 brms 包中建立具有线性参数化 V = mu(1 + phi) (Hardin & Hilbe 2007) 的负二项分布?
我希望它对应于来自 glmmTMB 的 nbinom1,来自 brms 的默认 negbinomial 对应于来自 glmmTMB 的 nbinom2,二次参数化(Hardin & Hilbe 2007),V = mu(1 + mu/phi)= mu + mu2/phi。我想我需要在 brms 中创建一个自定义系列,但我没有太多使用这个包并且无法弄清楚。我需要使用 brms 以便我可以将系统发育纳入我的分析中,而这在 glmmTMB 中是无法做到的。
r - 从另一个参考水平获取模型估计,而不运行新模型?
我想知道是否有一种简单的方法可以更改截距中的值,也许是数学上的,而无需重新运行大型模型。举个例子:
输出:
现在我可以将参考电平更改为 6 cyl,并且可以查看现在 8 cyl 与 6 cyl 而不是 4 cyl 的比较:
输出:
我想知道有没有办法在不重新运行模型的情况下获得这些值?您可以看到从 4 cyl 到 6 cyl 的比较在每个模型中都是相同的(-5.96
和5.96
),但是我将如何获得任一模型中“其他”系数的估计值(例如-2.55
来自第一个模型)。当然,在这种情况下,运行另一个模型只需要几分之一秒。但是对于非常大的模型,无需重新运行即可更改参考电平会很方便。是否有相对简单的方法可以将所有估计值和标准误差转换为基于不同的参考水平,还是这样做太复杂了?
lme4
,glmmTMB
或模型的任何解决方案rstanarm
将不胜感激。
r - 如何计算负二项式混合效应模型中固定效应的效应大小?
我正在通过使用 glmmTMB 函数拟合两个负二项式混合模型来检查某个固定效应(此处为 effect3):一个有固定效应,一个没有固定效应。接下来,我执行似然比检验来检验effect3的显着性(示例数据):
可悲的是,我找不到评估效果大小的方法。或者更确切地说,许多潜在的方法似乎都不起作用。失败的想法之一是计算科恩的 f 平方:
但是,在使用上述代码时r2(model)
总是会产生值。NA
我认为错误在函数中,因为函数中的命令在一个接一个运行时起作用,但调用参数似乎会使它崩溃。可能跟环境有关?
因此,我的问题是:
- 我可以
glmmTMB()
将固定效应模型用于没有随机效应的模型吗? - 我如何计算这样的效果大小?科恩的 f2 是正确的选择吗?
- 给定上面的代码,我如何在 R 中实现它?我该如何修复该功能?
谢谢!
r - 带有 saveRDS 的 glmmTMB 模型大小
使用 glmmTMB 建模生成的建模对象在保存到 RDS 后由于其大小而变得难以处理。
为 lm 对象建议的另一个线程这个问题是由环境属性引起的,这些属性在保存这些对象时似乎是随手可得的,但当然这些建模对象的结构不同。
saveRDS 膨胀对象的大小
更新:在进行更多挖掘时,我发现了这个线程,其中似乎 saveRDS refhook 参数可能有助于防止将环境写入对象,但我不明白这个参数是如何工作的或如何构建重新挂钩功能。
这是一个可重现的小示例,演示了对象在将其保存到 RDS 后如何增长(大约 100 kb)。然而,在更大的模型中,我运行的大小从 2 MB 膨胀到超过 1 GB。
谢谢
bayesian - r程序bayes.glmm在prep_call_sampler(对象)中给出错误错误
我正在运行 bayes.glmm r 包,但它给出了一个错误:
数据(“样本”,包 =“bayes.glmm”) pheno = data$pheno geno = data$geno cov = data$cov L <- t(chol(data$K)) mymodel = stan_models(model = "glm" , auto_write = TRUE) y2 = myGWAS_fit(model = mymodel, method = "sampling", type = "categorical", cov = cov, geno = geno[c(1, 3), ], pheno = pheno)
prep_call_sampler(object) 中的错误:此模型的 C++ 代码编译的对象无效,可能的原因:
- 用 save_dso=FALSE 编译;
- 在不同的平台上编译;
- 不存在(通过读取 csv 文件创建)。
我在谷歌上找不到任何解决方案。我怎样才能摆脱这个错误。我已经多次安装和卸载 rstan 和 bayes.glmm 包,但都无法解决问题。谢谢,维诺德
r - 使用 glmmTMB 拟合具有两个分类变量之间交互作用的混合模型
通常我的混合模型包含几个具有很多唯一级别的分类变量,因此X
矩阵非常稀疏。
我使用glmmTMB
处理X
和Z
矩阵作为稀疏的包。这显着减少了拟合模型期间的 RAM 使用量。
这个glmmTMB
包很棒,但对我来说有一个问题(也许我遗漏了一些东西):
当我使用数值变量和分类变量(如 FE)之间的交互时,模型拟合没有错误。
例如,这个模型效果很好:
但是当我使用两个分类变量之间的任何交互时,即公式如下所示:
我收到以下错误:
同时,在混合模型理论中,两个分类变量之间的相互作用是有效的。
此外,这种模型(具有两个因素之间的相互作用)成功地安装了Julia
MixedModels
包。
请您帮助我了解此错误的根源吗?
有没有办法在两个分类变量之间相互作用的模型中避免它?
为什么这样的模型适用于Julia MixedModels
而不适用于glmmTMB
?
r - 来自data.frame分配的R不正确的维数错误
运行下面的代码时出现错误:
data[, 4] 中的错误:维数不正确
data [,4]和目标的长度相同(480),所以我不明白问题出在哪里。数据是一个有 4 列的 data.frame,目标是一个长度为 480 的向量。
这也是comp_ranks函数,尽管我认为它不是导致错误的原因。
r - In R, plot emmeans of glmmTMB linear model. Error in linkinv(summ$the.emmean) : could not find function "linkinv"
I would like to plot the emmeans of a glmmTMB model using plot(). When my glmmTMB model takes in log transformed data, plot(emmeans(glmmTMB_model)) works just fine. However, when I attempt to plot the emmeans of the glmmTMB model of non-transformed data, I get the following error: Error in linkinv(summ$the.emmean) : could not find function "linkinv".
See my code below:
Note, log10pH_analysis and pH_analysis differ by one column. Emmeans of glmmTMB of logged data creates a "response" column whereas the same manipulation of non-tranformed data resulted in an "emmeans" column. See below:
log10pH_analysis
pH_analysis
Thank you.