使用 R 包中的 .Fortran() 并提示函数不可用

Using .Fortran() from R package with error saying function not available

我尝试了以下代码:

library(quantreg) # to load the package
library(foreign)  # to load the package

.Fortran("rqfn", PACKAGE = "quantreg")

但我收到以下错误:

Error in .Fortran("rqfn", PACKAGE = "quantreg") : 
"rqfn" not available for .Fortran() for package "quantreg"

我已经安装了 Rtools。但这并不能解决问题。 我还检查了有关系统路径的问题(如本站点中:https://github.com/stan-dev/rstan/wiki/Install-Rtools-for-Windows),但没有问题。 谁能帮帮我?非常感谢。

您可以构建自己的库:

  • 下载 rqfn.frqfnb.fstepy 方法需要后者。
  • 致电R CMD SHLIB rqfn.f rqfnb.f
  • 像这样使用函数:

    data(stackloss)
    x <- stack.x
    y <- stack.loss
    n <- length(y)
    p <- ncol(x)
    dyn.load(paste0("rqfn", .Platform$dynlib.ext))
    
    .Fortran("rqfn",
         as.integer(n),
         as.integer(p),
         a = as.double(t(as.matrix(x))),
         c = as.double(y),
         rhs = double(p),
         d = double(n),
         beta = as.double(0.99995),
         eps = as.double(1e-6),
         tau = as.double(0.5),
         wn = double(10 * n),
         wp = double((p + 3) * p),
         aa = double(p * p),
         it.count = integer(2),
         info = integer(1))