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

时间:2013-12-18 14:56:37

标签: r

我希望能够从R(3.0.2)中调用R(2.15.3)。为了使用仅在较旧版本的R中可用的包(windows binary,而不是cran),这可能吗?

1 个答案:

答案 0 :(得分:11)

  

这是R.没有if,只有如何

西蒙布隆伯格说。

您可以使用system()以及操作系统中相应的黑客来调用R的旧版本。这是一件很奇怪的事情,并且当你沮丧地击中它时会为你的计算机造成严重损害的可能性。

或者您可以下载软件包的源代码并在R 3.0中重建它。在R中构建和使用包的方式有一些相当大的内部变化(最明显的是删除对没有命名空间的包的支持)。

因此:

  • 如果包没有命名空间:下载源(.tar.gz),如果之前没有,请阅读手册“Writing R extensions”,并添加通常的命名空间文件出口。正如编写R扩展中所解释的,这可以像添加单行一样简单

    exportPattern("^[^\\.]")
    
  • 如果包具有命名空间,则从您的计算机上的源代码构建,您应该很高兴。这可以通过使用:

    完成
    install.packages("path/to/package.tar.gz",type="source")
    

请注意,如果您要在Windows计算机上从源代码安装,则需要兼容版本的Rtools:http://cran.r-project.org/bin/windows/Rtools/

如果您不想被它打扰,请邮寄包裹的作者/维护者,并请他们是否愿意为您重建。