首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >devtools::check() F用于代替FALSE执行,halted,R

devtools::check() F用于代替FALSE执行,halted,R
EN

Stack Overflow用户
提问于 2019-12-28 07:31:08
回答 1查看 45关注 0票数 1

我的职能和评论是:

代码语言:javascript
复制
#' @examples  check_duplication(iris,col_names = "Sepal.Length",check_type = F)
#             check_duplication(iris,col_names = "Sepal.Width")
check_duplication <- function(data,col_names,check_type=T){

  if(check_type){ data <- as.data.frame(data)}
  duplicate_nums<- nrow(data)-nrow(as.data.frame(base::unique(data[,col_names])))

  return(duplicate_nums)
}

当我使用devtools::check()时,它将在testthat测试和控制台上工作,它报告错误

我知道当我用F代替假的时候,这个错误会发生,但是这是什么原因呢?

代码语言:javascript
复制
checking examples ... ERROR
  Running examples in ‘datools-Ex.R’ failed
  The error most likely occurred in:

  > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
  > ### Name: check_duplication
  > ### Title: check data unique
  > ### Aliases: check_duplication
  > 
  > ### ** Examples
  > 
  >  check_duplication(iris,col_names = "Sepal.Length",check_type = F)
  Error in check_duplication(iris, col_names = "Sepal.Length", check_type = F) : 
    F used instead of FALSE
  Execution halted

我有两个问题:

  1. 如何解决这一错误
  2. 在R

中真与F有什么区别

谢谢你的帮助~

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-28 14:06:45

如消息所示,使用FALSE而不是F

F是变量,FALSE是常量。使用F是危险的,因为用户可能有类似于F <- 100的代码,然后使用默认的check_type = F

代码语言:javascript
复制
if (check_type) { data <- as.data.frame(data)}

将执行该子句,因为100的计算结果与TRUE相同。

如果用户尝试

代码语言:javascript
复制
FALSE <- 100

它将被标记为语法错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59508972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档