悬赏 20 个论坛币 已解决
请看:
我从R网站上下了一个文件包bayesQR,里边有文件 data man R src。
我先运行程序1:
# Simulate data from heteroskedastic regression
n <- 200
X <- runif(n=n,min=0,max=10)
。。。。。。
out = QRc(Data=Data, Prior=Prior, Mcmc=Mcmc)
需要调用QRc函数。在R文件里提供了QRc.r:
QRc <- function(Data, Prior, Mcmc)
{
。。。。。。
fn_val <- .Fortran("QRc_mcmc", n, nvar, r, keep, y, p, step1, step2, X, betabar,
rooti, nu, ssq, betadraw, sigdraw, loglike, rejrate1, rejrate2)
return(list(betadraw=
。。。。。。。
}(运行到这里没有问题,也就是说r可以调用自己编写的函数QRc.r,但是下面调用Fortran程序时出错了)
在QRc.r中需要调用Fortran程序,在src中提供了名为:QRc_mcmc.95:
SUBROUTINE QRc_mcmc (n, nvar, r, keep, y, p, step1, step2, x, betabar, rooti, &
nu, ssq, betadraw, sigdraw, loglike, rejrate1, rejrate2)
IMPLICIT NONE
。。。。。。。
谢谢您耐心地看完,我的问题是:
1、 在运行程序1时,r报错:错误于.Fortran("QRc_mcmc", n, nvar, r, keep, y, p, step1, step2, X, :
载入表里没有"Fortran"字符名"qrc_mcmc", 这是什么意思?
2 、QRc.r 在运行中调用.Fortran,是不是直接找到src,然后读取 QRc_mcmc.95 执行了?还是必须先讲QRc_mcmc.95在fortran的编译器里编译,然后再调用,如果是后者,我已经用编译器生成了.obj .dll 文件,怎么和QRc.r 连接上(即QRc.r怎么调用它们)?
最佳答案
epoh 查看完整内容
哈哈!假设我没猜错
你应该是误载到
Package source: bayesQR_1.3.tar.gz
而不是Windows binary: bayesQR_1.3.zip
因为安装Windows binary后就会有bayesQR.dll
C:\...\bayesQR\libs\i386\ bayesQR.dll
请下载bayesQR_1.3.zip,由本机安装