“中位数”

时间:2015-06-30 07:49:56

标签: r

自最新的R更新以来,我得到了注释

  

summary.xmlImport:“中位数”没有可见的全局函数定义

CRAN检查中的

。附加说明参考了read.tablewrite.table和其他标准函数。

当我查看我的文件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)

} 

我无法理解,为什么我现在应该将median功能添加到NAMESPACE,但为什么不添加minmean等。这个注释只是关于{{1 }}功能。

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

我可以在非声明变量的上下文中理解这个警告,但我认为medianmedian()这些函数在R中是全局可见的,尤其是read.table()似乎是!?

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

mean()

1 个答案:

答案 0 :(得分:53)

Monday June 29, 2015开始,必须在NAMESPACE中显式导出所有非基础函数才能传递R CMD check --as-cran。之所以进行更改,是因为现在仅使用 base 附件检查代码,因此必须明确列出默认包中的函数(例如 stats )。

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

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

如果您希望以模仿此的模式与R交互式工作,您将需要仅使用附加的基础软件包启动R. There are several ways to do this,但最简单的方法是在shell上设置一个环境变量:R_DEFAULT_PACKAGES=NULL或.Renviron文件,然后使用R --vanilla启动R.在终端或bash中,这将是:

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

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

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