Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从R(3.0.2)内部调用R(2.15.3)_R - Fatal编程技术网

从R(3.0.2)内部调用R(2.15.3)

从R(3.0.2)内部调用R(2.15.3),r,R,我希望能够从R(3.0.2)中调用R(2.15.3)。为了使用仅在较旧版本的R中可用的软件包(windows二进制,不在cran上)。这是否可能 这是R。没有如果,只有如何 西蒙·布隆伯格说 您可以使用system()调用旧版本的R,并在您的操作系统中使用相应的hack。这是一件很奇怪的事情,当你沮丧地撞到你的电脑时,它可能会给你的电脑带来严重的损害 或者您可以下载包的源代码并在R3.0中重建它。在R中构建和使用包的方式发生了一些相当激烈的内部变化(最明显的是取消了对没有名称空间的包的支持) 因

我希望能够从R(3.0.2)中调用R(2.15.3)。为了使用仅在较旧版本的R中可用的软件包(windows二进制,不在cran上)。这是否可能

这是R。没有如果,只有如何

西蒙·布隆伯格说

您可以使用
system()
调用旧版本的R,并在您的操作系统中使用相应的hack。这是一件很奇怪的事情,当你沮丧地撞到你的电脑时,它可能会给你的电脑带来严重的损害

或者您可以下载包的源代码并在R3.0中重建它。在R中构建和使用包的方式发生了一些相当激烈的内部变化(最明显的是取消了对没有名称空间的包的支持)

因此:

  • 如果包没有名称空间:下载源(.tar.gz),如果以前没有,请阅读手册“”,然后添加一个带有常用导出的名称空间文件。正如在编写R扩展时所解释的,这可以像添加一行一样简单

    exportPattern("^[^\\.]")
    
  • 如果这个包有一个名称空间,那么在您的机器上从源代码构建,您就可以开始了。这只需使用以下方法即可完成:

    install.packages("path/to/package.tar.gz",type="source")
    
请注意,如果要在Windows计算机上从源代码安装,则需要兼容版本的Rtools:


如果您不想为它烦恼,请将邮件发送给包的作者/维护者,并询问他们是否愿意为您重建它。

这是哪个包?为什么不从包源代码构建到3.0.2?您可以调用
system()
shell()
来运行R批处理文件(例如
system(“/path/to/old/R CMD BATCH mybatchfile.R”)
,但稍微多了解一下您尝试执行的操作可能会有所帮助……从目前的上下文来看,我们还不清楚此包是否不适用于3.0.2,因为它(1)只是没有为3.0.2构建(并且可能有或可能没有任何需要
Rtools
)的编译组件;(2)具有兼容性所需的微小调整(例如
名称空间
/
说明
调整);(3)存在非平凡的兼容性问题。我知道。因此有不同的选项。我怀疑从R2.15迁移到R3.0时是否存在非平凡的兼容性问题。至少,我还没有发现一个包,其中任何兼容性问题都不能通过简单地重建(并添加命名空间文件)来解决。