【发布时间】:2010-12-01 05:43:41
【问题描述】:
一位朋友在webscraping The New York Times with R 上向我发送了这个很棒的教程。我真的很想尝试一下。但是,第一步是从源代码安装一个名为 RJSONIO 的包。
我相当了解 R,但我不知道如何从源代码安装包。
我正在运行 Mac OS X。
【问题讨论】:
标签: r
一位朋友在webscraping The New York Times with R 上向我发送了这个很棒的教程。我真的很想尝试一下。但是,第一步是从源代码安装一个名为 RJSONIO 的包。
我相当了解 R,但我不知道如何从源代码安装包。
我正在运行 Mac OS X。
【问题讨论】:
标签: r
From CRAN,可以直接从 GitHub 仓库地址安装。所以如果你想要https://github.com/twitter/AnomalyDetection的包裹,使用
library(devtools)
install_github("twitter/AnomalyDetection")
成功了。
【讨论】:
下载源码包,打开Terminal.app,导航到你当前有文件的目录,然后执行:
R CMD INSTALL RJSONIO_0.2-3.tar.gz
请注意,这只有在以下情况下才会成功:a) 软件包不需要编译或 b) 存在编译所需的系统工具。请参阅:R for Mac OS X
【讨论】:
此外,您可以使用--binary 选项构建二进制包。
R CMD build --binary RJSONIO_0.2-3.tar.gz
【讨论】:
R CMD build --binary 已弃用;改用R CMD INSTALL --build
如果您在本地有文件,则使用install.packages() 并设置repos=NULL:
install.packages(path_to_file, repos = NULL, type="source")
path_to_file 代表完整路径和文件名:
"C:\\RJSONIO_0.2-3.tar.gz"。"/home/blah/RJSONIO_0.2-3.tar.gz"。【讨论】:
file_name_and_path 是 R 包的本地源代码库,这也有效。
从源代码安装旧版本软件包的补充方便(但微不足道)提示。
首先,如果您调用“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
【讨论】:
您可以直接从存储库安装(注意type="source"):
install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")
【讨论】: