我如何从源代码安装R包?

一位朋友把我带到了R的网站上 , 我真的很想去尝试一下。 但是,第一步是从源码安装一个名为RJSONIO的包。

我知道R相当好,但我不知道如何从源代码安装包。

我正在运行Mac OSX。

如果你有本地文件,那么使用install.packages()并设置repos=NULL

 install.packages(path_to_file, repos = NULL, type="source") 

其中path_to_file代表完整path和文件名:

  • 在Windows上,它看起来像这样: "C:\\RJSONIO_0.2-3.tar.gz"
  • 在UNIX上,它将如下所示: "/home/blah/RJSONIO_0.2-3.tar.gz"

下载源码包,打开Terminal.app,导航到你当前拥有该文件的目录,然后执行:

 R CMD INSTALL RJSONIO_0.2-3.tar.gz 

请注意,这只有在以下情况下才能成功:a)程序包不需要编译或b)编译所需的系统工具存在。 请参阅: https : //cran.r-project.org/bin/macosx/tools/

你可以直接从版本库安装(注意type="source" ):

 install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source") 

从源代码安装较旧版本的软件包的一个辅助方便的(但不重要的)技巧。

首先,如果你打电话给“install.packages”,它总会安装来自repo的最新软件包。 如果你想安装旧版本的软件包,为了兼容性,你可以调用install.packages(“url_to_source”,repo = NULL,type =“source”)。 例如:

 install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source") 

没有手动下载软件包到本地磁盘并切换到命令行或从本地磁盘安装,我发现它非常方便,并简化了呼叫(一步)。

另外:你可以使用devtools库的dev_mode这个技巧来pipe理不同版本的包:

参考: doc devtools

另外,您可以使用–binary选项构build二进制包。

 R CMD build --binary RJSONIO_0.2-3.tar.gz 

从cran ,你可以直接从github仓库地址安装。 所以,如果你想在https://github.com/twitter/AnomalyDetection的包:

 library(devtools) install_github("twitter/AnomalyDetection") 

做的伎俩。

我更喜欢从R cran项目安装一个包。 我将search软件包名称,如果可用,我将从R shell执行命令,直接从R cran项目安装它。 你的软件包在R目录下。 所以这就是我要做的

 install.packages("RJSONIO") 

奖金 – 将软件包加载到R的当前会话中

 library(RJSONIO)