我正在组织一些我写入包中的R代码。此代码包含MCMC算法,用于推断常微分方程模型中的参数,因此我将解决ODE数千次。因此,有必要使用编译代码而不是R函数将模型传递到ode
包的deSolve
函数中。通常,我使用命令
system('R CMD SHLIB mymodel.c')
dyn.load(mymodel)
使用已编译的版本。相反,我希望R在安装软件包时自动生成.so文件。我找不到这样做的方法,因为这些C函数不能用作R函数。我只需要有效DLL的路径传递到ode
函数。为ODE模型创建一个包装似乎没有意义,因为我不能使用R里面的函数,但也许我很困惑。我无法在CRAN上找到以这种方式使用C代码的软件包,所以也许这是不可能的。