如何从源代码安装R软件包?

时间:2009-09-24 20:51:31

标签: r package install r-faq

一位朋友在webscraping NYtimes with R发送了这篇精彩的教程。我真的很想尝试一下。但是,第一步是从源代码安装一个名为RJSONIO的软件包。

我比较熟悉R,但我不知道如何从源代码安装包。

我正在运行Mac OSX。

7 个答案:

答案 0 :(得分:424)

如果您在本地拥有该文件,请使用install.packages()并设置repos=NULL

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

path_to_file表示完整路径和文件名:

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

答案 1 :(得分:84)

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

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

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

答案 2 :(得分:48)

您可以直接从存储库安装(请注意type="source"):

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

答案 3 :(得分:22)

从源代码安装旧版软件包的补充方便(但很简单)的提示。

首先,如果你调用“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一起使用,以便管理不同版本的软件包:

参考:doc devtools

答案 4 :(得分:7)

此外,您可以使用--binary选项构建二进制包。

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

答案 5 :(得分:6)

From cran,您可以直接从github存储库地址安装。因此,如果您想要https://github.com/twitter/AnomalyDetection的包裹:

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

诀窍。

答案 6 :(得分:-5)

我更喜欢从R cran project安装软件包。我将搜索包名称,如果可用,我将从我的R shell执行命令,直接从R cran项目安装它。您的包在R目录中可用。所以这就是我要做的事情

install.packages("RJSONIO")

奖励 - 将包装入R的当前会话

library(RJSONIO)