gpt4 book ai didi

r - 描述顺序 导入 : and NAMESPACE import() in R 2. 14.0 包检查

转载 作者:行者123 更新时间:2023-12-04 01:55:04 25 4
gpt4 key购买 nike

当我检查一个包时,我试图找出函数名称之间似乎存在冲突的地方。我最终可能会直接问这个问题,但首先,我想知道三件事,在 R-exts 中似乎没有提到:

  • 描述:Imports 和 NAMESPACEimports() 中列出的包应该是一样的,对吧?
  • 在任一列表中,导入顺序重要吗?如果是这样,是否有关于如何订购它们的一般建议?
  • 我使用 R --vanilla CMD 检查 pkg_name 来避免我的 .Rprofile 干扰。当我的 .Rprofile 处于事件状态并包含 library(pkg_name) 语句时,这些顺序是否重要?
  • 最佳答案

    你问了三个问题。

    1.在DESCRIPTION中列出包以及 NAMESPACEDESCRIPTION中列出的每个包Imports:必须有匹配的条目 NAMESPACE import(...) . DESCRIPTION中的条目可能包含版本信息,但在 NAMESPACE你只命名包。

    粗心大意的注意事项:拼写 Imports与资本I和尾随 s在描述中

    例如:

    描述

    Imports:
    stringr (>= 0.5)

    命名空间
    import(stringr)

    2. 订单事项

    包你 loadimport稍后会屏蔽之前加载或导入的包。这仅在您导入具有相同名称的导出函数的包时才重要。

    例如,两个 latticeggplot2导出 layer功能。因此,如果您首先导入 lattice然后 ggplot2 , 表示 ggplot2::layer将口罩 lattice::layer .

    换句话说,使用 layer将引用 ggplot2::layer .如需引用 lattice您需要明确引用 lattice::layer 的版本在你的函数中。

    3. 加载包的顺序也很重要

    出于同样的原因,加载包的顺序(在脚本中或在 .Rprofile 中)很重要。您加载的任何新包都将屏蔽以前加载的包中具有相同名称的函数。

    发生这种情况时,R 会做明智的事情并在控制台消息中告诉您。

    这是加载 reshape 时发生的屏蔽示例包,这取决于 plyr但也掩盖了 plyr 中的一些功能:
    library(reshape)
    Loading required package: plyr

    Attaching package: 'plyr'

    The following object(s) are masked from 'package:braidppt':

    .


    Attaching package: 'reshape'

    The following object(s) are masked from 'package:plyr':

    rename, round_any

    关于r - 描述顺序 导入 : and NAMESPACE import() in R 2. 14.0 包检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8027749/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com