"中位数"没有可见的全局函数定义

Dan*_*her 34 r

自最新的R更新后,我得到了Note

summary.xmlImport:'median'没有可见的全局函数定义

在CRAN检查.进一步注意到参考read.table,write.table并且在R以外的标准功能

当我查看我的文件summary.xmlImport时,该文件如下所示:

summary.xmlImport <- function(object, ...){

   rowCount <- sapply(object,nrow)
   cat("Summary of xmlImport object\n")
   cat("---------------------------\n")
   cat("Sequences    :",length(object),"\n")
   cat("Min hits     :",min(rowCount),"\n")
   cat("Average hits :",mean(rowCount),"\n")
   cat("Median hits  :",median(rowCount),"\n")
   cat("Max hits     :",max(rowCount),"\n")
   invisible(object)

} 
Run Code Online (Sandbox Code Playgroud)

我不明白,为什么我现在应该添加median功能的命名空间,但为什么不min,mean等等.需要注意的是只有约median功能.

有人知道Note的原因是什么以及如何修复它?我注意到有大量的R包当前具有相同的注释.

我可以在非声明变量的上下文中理解这个警告,但我会假设median(),read.table()这样的函数在R中是全局可见的,特别是mean()看起来像!?

编辑:我只收到关于CRAN的注意事项,但没有在我的本地计算机上收到什么使搜索解决方案有点讨厌...我的电脑的会话信息:

> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.2 LTS
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 58

截至2015年6月29日星期一,必须在NAMESPACE中明确导出所有非基本功能才能通过R CMD check --as-cran.之所以进行更改,是因为现在仅使用附加的基础包检查代码,因此必须明确列出默认包(例如stats)中的函数.

要导入这些包,请考虑执行以下操作:

  • 在DESCRIPTION中,您可能希望列出它们Imports.没有理由列出一个包Depends.
  • 在NAMESPACE中,您可以选择import(stats)或者importFrom(stats, ...),在...一个或多个逗号分隔的函数名称中.(如果您使用roxygen2::roxygenize()devtools::document()生成文档和NAMESPACE,类似的标记将是#' @import stats#' @importFrom stats ....)

如果您想以模仿此模式的方式与R交互式工作,您将需要仅使用附加的基础软件包启动R. 有几种方法可以做到这一点,但最简单的方法是在shell上设置一个环境变量:R_DEFAULT_PACKAGES=NULL或者在.Renviron文件中然后启动R使用R --vanilla.在终端或bash中,这将是:

$ export R_DEFAULT_PACKAGES=NULL
$ R --quiet --vanilla
> search()
[1] ".GlobalEnv"   "Autoloads"    "package:base"
Run Code Online (Sandbox Code Playgroud)

在Windows命令提示符下,它将是:

C:\>SET R_DEFAULT_PACKAGES=NULL
C:\>R --quiet --vanilla
> search()
[1] ".GlobalEnv"   "Autoloads"    "package:base"
Run Code Online (Sandbox Code Playgroud)

  • 所以,如果我使用的是roxygen,那么我是否应该在Imports中包含统计数据,然后在任何使用stats函数的函数中放入@import统计数据呢? (3认同)
  • 谢谢,看来以后读 R-Devel 是值得的。 (2认同)