加载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可能会破坏代码(但不确定)。
谢谢你的问题