我正在尝试使用一种功能,使用逻辑曝光链接功能模拟鸟类的嵌套成功.
当我使用R 3.0.0或3.0.1中的上面的示例代码运行此函数时,我收到错误:
Error in .Call("logit_mu_eta", eta, PACKAGE = "stats") :
"logit_mu_eta" not available for .Call() for package "stats"
Run Code Online (Sandbox Code Playgroud)
但是,它在R 2.15.3中工作正常.
我希望这可以在更新版本的R中使用,因为我使用它们来进一步分析输出.如果有人有任何建议,解决方法或更正,我很乐意尝试.
从技术上讲,这不是一个错误,因为该函数使用了一个位置现已更改的内部函数。我在https://rpubs.com/bbolker/logregexp上发布了一个工作示例...关键更改logit_mu_eta如下stats:::C_logit_mu_eta。当然,这对于未来内部的变化仍然很脆弱......
logexp <- function(exposure = 1)
{
linkfun <- function(mu) qlogis(mu^(1/exposure))
## FIXME: is there some trick we can play here to allow
## evaluation in the context of the 'data' argument?
linkinv <- function(eta) plogis(eta)^exposure
mu.eta <- function(eta) exposure * plogis(eta)^(exposure-1) *
.Call(stats:::C_logit_mu_eta, eta, PACKAGE = "stats")
valideta <- function(eta) TRUE
link <- paste("logexp(", deparse(substitute(exposure)), ")",
sep="")
structure(list(linkfun = linkfun, linkinv = linkinv,
mu.eta = mu.eta, valideta = valideta,
name = link),
class = "link-glm")
}
Run Code Online (Sandbox Code Playgroud)