首页 文章

如何从源代码安装R包?

提问于
浏览
323

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

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

我正在运行Mac OSX .

7 回答

  • 47

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

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

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

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

    从源代码安装旧版本软件包的补充方便(但微不足道)的提示 .

    首先,如果你调用“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

  • 6

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

    install.packages("RJSONIO")
    

    Bonus - 将包加载到R的当前会话中

    library(RJSONIO)
    
  • 76

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

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

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

  • 19

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

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

    诀窍 .

  • 7

    如果您在本地拥有该文件,则使用 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" .

相关问题