在不定义函数参数的情况下发布R包

在不定义函数参数的情况下发布R包,r,R,我目前正在为某人制作一个代码包。在CMDR上运行cmdcheck以将包上载到CRAN I时,我一直遇到以下问题:缺少参数“ftab”,没有默认值。有没有办法让支票忽略这一点 我试过一些方法,比如设置ftab=NULL,我设置了ftab=ftab这是由于您的@examples部分。将定义更改为类似以下内容: #“chi.stat函数 #' #“这个功能。。。(此处描述) #“@param ftab(此处为参数) #“@param eps numeric,一个公差系数;默认1e-9 #'@retur

我目前正在为某人制作一个代码包。在CMDR上运行cmdcheck以将包上载到CRAN I时,我一直遇到以下问题:缺少参数“ftab”,没有默认值。有没有办法让支票忽略这一点


我试过一些方法,比如设置ftab=NULL,我设置了ftab=ftab这是由于您的
@examples
部分。将定义更改为类似以下内容:

#“chi.stat函数
#'
#“这个功能。。。(此处描述)
#“@param ftab(此处为参数)
#“@param eps numeric,一个公差系数;默认1e-9
#'@return chi.val(返回值)
#“@出口
#“@示例
#“\dontrun{
#"chi.stat()
#' }

chi.stat这是由于您的
@examples
部分。将定义更改为类似以下内容:

#“chi.stat函数
#'
#“这个功能。。。(此处描述)
#“@param ftab(此处为参数)
#“@param eps numeric,一个公差系数;默认1e-9
#'@return chi.val(返回值)
#“@出口
#“@示例
#“\dontrun{
#"chi.stat()
#' }

在这段特定的代码中,chi.statIt看起来不会出现错误。在包代码中是否还有其他地方调用了
chi.stat()
?当我测试该代码块时,我得到了“全局变量'eps'没有可见的绑定,但是chi.stat没有任何绑定。”@Marius我有第二个函数调用chi.stat几次。但是代码的长度至少是我已经发布的代码的两倍。当到达cmd检查的“检查示例”部分时,错误总是弹出。我在帖子中添加了一个编辑,以显示有关该函数的其他信息。@r2evans这很有趣,我将尝试再次单独运行该函数,并查看得到的结果。我开始认为问题可能来自我的
@examples chi.stat()
是的,您的示例通常应该是运行的代码<没有参数的code>chi.stat()
将不会运行。错误看起来不会出现在这段特定的代码中。在包代码中是否还有其他地方调用了
chi.stat()
?当我测试该代码块时,我得到了“全局变量'eps'没有可见的绑定,但是chi.stat没有任何绑定。”@Marius我有第二个函数调用chi.stat几次。但是代码的长度至少是我已经发布的代码的两倍。当到达cmd检查的“检查示例”部分时,错误总是弹出。我在帖子中添加了一个编辑,以显示有关该函数的其他信息。@r2evans这很有趣,我将尝试再次单独运行该函数,并查看得到的结果。我开始认为问题可能来自我的
@examples chi.stat()
是的,您的示例通常应该是运行的代码<不带参数的code>chi.stat()
将不会运行。示例是供用户使用的文档。你不应该在测试中滥用它们。@Roland,虽然我明白你的意思(并且在学术水平上同意),但我看到很多“业余”软件包/函数的代码覆盖率一般或没有。虽然正确的测试是一种最佳实践,但我确实遇到了很多非常聪明的人,他们没有充分理解/欣赏(或关心)CS原则,无法实际编写测试代码。但我打赌他们会在文档中放一两样东西。因此,虽然我的纯粹主义者同意你的观点,但我的实用主义者说“我会尽我所能”(然后自己编写正式的测试)。示例是供用户使用的文档。你不应该在测试中滥用它们。@Roland,虽然我明白你的意思(并且在学术水平上同意),但我看到很多“业余”软件包/函数的代码覆盖率一般或没有。虽然正确的测试是一种最佳实践,但我确实遇到了很多非常聪明的人,他们没有充分理解/欣赏(或关心)CS原则,无法实际编写测试代码。但我打赌他们会在文档中放一两样东西。所以,虽然我的纯粹主义者同意你的观点,但我的实用主义者却说“我会尽我所能”(然后自己编写正式的测试)。
chi.stat<-function(ftab)
{

  tot<-sum(ftab);
  expv<-outer(rowSums(ftab)/tot,  colSums(ftab)/tot, '*')*tot;
  signal<-(colMeans(expv)<eps)*(1:dim(ftab)[2]);
  indx<-setdiff(signal,0);
  ftemp<-((ftab-expv)^2/expv)
  chi.val<-ifelse(length(indx)==0, sum(ftemp), sum(ftemp[,-indx]));

  return(chi.val);
}
#' chi.stat function
#'
#' This function... (description here)
#' @param ftab (argument here)
#' @return chi.val (return value)
#' @export
#' @examples
#' chi.stat()