【问题标题】:Difference between r-base and r-recommended packagesr-base 和 r-recommended 软件包之间的区别
【发布时间】:2012-03-14 11:12:14
【问题描述】:

谁能告诉我基本包和推荐包有什么区别。

如果有提到基础包和推荐包的链接,请提供链接。

【问题讨论】:

    标签: r packages built-in


    【解决方案1】:

    差异实际上来自 R Core 和 R 代码的组织方式,例如在上游 SVN 存储库中。

    src/library/ 中,您拥有所有“基本”包:

    • 基础
    • 编译器
    • 数据集
    • 图形
    • grDevices
    • 网格
    • 方法
    • 并行
    • 样条线
    • 统计数据
    • 统计数据4
    • tcltk
    • 工具
    • 翻译
    • 实用程序。

    而且这些都不在 CRAN 上——它们只作为“base R”的一部分存在。

    您有一个目录src/library/Recommended,默认情况下它是空的,但可以使用帮助脚本 (tools/rsync-recommended) 来填充CRAN 推荐包列表 (版本化)目录。对于 R 版本 3.3.3,它是 CRAN/src/contrib/3.3.3/Recommended/(CRAN 部分是您的默认镜像)。它包含

    • KernSmooth
    • 质量
    • 矩阵
    • 开机
    • 集群
    • 代码工具
    • 外国
    • 格子
    • mgcv
    • nlme
    • 网络
    • rpart
    • 空间
    • 生存

    编辑 2016-09-06:utils 添加到第一组。

    【讨论】:

    • 在这个组织中隐含的是,基础包仅随 R 版本更新;基础包的版本和 R 的版本之间存在一对一的关系。推荐的包,因为它们托管在 CRAN 上,可以在 R 版本之间更新。
    • 正确。而且因为 CRAN 上的推荐包可能会“提前”给定 R 版本,所以我提到的 rsync 脚本与 为此 R 版本选择的一组给定推荐包同步,以尽量减少来自的任何意外,比如,较旧的 R 和较新的 CRAN。
    【解决方案2】:

    我想从稍微不同的角度来回答,用函数而不是链接来回答。如果 Priority 为“base”,则该包已安装并加载,因此在打开 R 时其所有功能都可用。如果 Priority 为“recommended”,则该包已安装 base R,但未加载。在使用此包中的命令之前,用户必须使用库命令加载它,例如库(引导)。

    至于链接,带有优先级过滤器的installed.packages() 应该列出所有已安装和加载(基本)或刚刚安装(推荐)的包,因此您实际上不需要任何链接。

    x <- installed.packages()
    x[ !is.na(x[ ,"Priority"]), c("Package", "Priority") ]
    

    对于所有其他软件包,请参阅available.packages()。请参阅此链接以获取details

    【讨论】:

    • 并非所有基础包都已加载。打开一个新的 R 会话,运行 sessionInfo(),我们会看到只附加了 stats graphics grDevices utils datasets methods base 包。
    • 另外,details 的网络链接已损坏。
    【解决方案3】:

    我猜你说的是在 Linux 上安装 R。

    这记录在(例如)Debian 的安装说明中。你可以在http://cran.csiro.au/bin/linux/debian/找到这个

    引自本页:

    The r-recommended set of packages are:
    
       r-cran-boot
       r-cran-cluster
       r-cran-class
       r-cran-codetools
       r-cran-foreign
       r-cran-kernsmooth
       r-cran-lattice
       r-cran-mass
       r-cran-matrix
       r-cran-mgcv
       r-cran-nlme
       r-cran-nnet
       r-cran-rmatrix
       r-cran-rpart
       r-cran-spatial
       r-cran-survival
    

    【讨论】:

    • 这是我们使用的 Debian 名称映射。我的答案有实际名称。
    【解决方案4】:

    这个 R 命令返回所有基础包的名称:

    names(which(installed.packages()[ ,"Priority"] == "base", ))
    # [1] "base"      "compiler"  "datasets"  "graphics"  "grDevices" "grid"     
    # [7] "methods"   "parallel"  "splines"   "stats"     "stats4"    "tcltk"    
    # [13] "tools"     "utils"    
    

    这个 R 命令返回所有推荐包的名称:

    names(which(available.packages(repos = c(CRAN = "https://cran.r-project.org"))[ ,"Priority"] == "recommended", ))
    # [1] "boot"       "class"      "cluster"    "codetools"  "foreign"   
    # [6] "KernSmooth" "lattice"    "MASS"       "Matrix"     "mgcv"      
    # [11] "nlme"       "nnet"       "rpart"      "spatial"    "survival"  
    

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 2018-12-16
      • 2011-10-31
      • 2013-10-01
      相关资源
      最近更新 更多