r语言 - 加载{logif}会破坏MCMCglmm()



加载logistf包会破坏MCMCglmm()。执行命令前卸载logistf不能消除错误。

为什么?有办法解决这个问题吗?

library(MCMCglmm)
#> Loading required package: Matrix
#> Loading required package: coda
#> Loading required package: ape
data(PlodiaPO)
MCMCglmm(PO ~ plate, data = PlodiaPO)
#> 
#>                        MCMC iteration = 0
#> 
#>                        MCMC iteration = 1000
#> 
#>                        MCMC iteration = 2000
#> 
#>                        MCMC iteration = 3000
#> 
[...]
#> attr(,"class")
#> [1] "MCMCglmm"

由reprex包(v2.0.1)创建于2022-06-07

<<p>不工作/strong>
library(logistf)
library(MCMCglmm)
#> Loading required package: Matrix
#> Loading required package: coda
#> Loading required package: ape
data(PlodiaPO)
MCMCglmm(PO ~ plate, data = PlodiaPO)
#> Error in terms.formula(formula, data = data): invalid term in model formula
unloadNamespace("logistf")
MCMCglmm(PO ~ plate, data = PlodiaPO)
#> Error in terms.formula(formula, data = data): invalid term in model formula

由reprex包(v2.0.1)创建于2022-06-07

经过一番研究,我发现问题不是来自logistf,而是来自导入的formula.tools包来重现错误尝试:

library(formula.tools)
#>formula.tools-1.7.1 - Copyright © 2022 Decision Patterns
library(MCMCglmm)
#> Loading required package: Matrix
#> Loading required package: coda
#> Loading required package: ape
data(PlodiaPO)
MCMCglmm(PO ~ plate, data = PlodiaPO)
#> Error in terms.formula(formula, data = data) : 
invalid term in model formula

formula.tools已知的问题参见怪异的包依赖引入错误

解决方案如下:

  • 叉公式。工具回购
  • (删除这一行)[https://github.com/decisionpatterns/formula.tools/blob/45b6654e4d8570cbaf1e2fd527652471202d97ad/NAMESPACE#L3]
  • install_github from your repo

  • 在加载formula.tools后立即运行as.character.formula = function(x) as.character.default(x)。使用as.character.formula可能会破坏代码(但不确定)。

谢谢你的问题

最新更新