r - stopifnot 更好的错误信息?

标签 r

我正在使用 stopifnot我知道它只返回第一个不是 TRUE 的值.如果这是一些奇怪的动态表达式,那么不熟悉自定义函数的人无法真正从中做出一些贡献。所以我很想添加一个自定义错误消息。有什么建议?

Error: length(unique(nchar(check))) == 1 is not TRUE

基本上说明向量的元素 check没有相同的长度。
有没有办法说:Error: Elements of your input vector do not have the same length! ?

最佳答案

使用 stop和一个 if陈述:

if(length(unique(nchar(check))) != 1) 
  stop("Error: Elements of your input vector do not have the same length!")

只要记住 stopifnot有陈述否定的方便,所以你的条件在if需要是您停止条件的否定。

这是错误消息的样子:
> check = c("x", "xx", "xxx")
> if(length(unique(nchar(check))) != 1) 
+   stop("Error: Elements of your input vector do not have the same length!")

Error in eval(expr, envir, enclos) : 
  Error: Elements of your input vector do not have the same length!

关于r - stopifnot 更好的错误信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343509/

相关文章:

r - 错误:未安装ID为 'R'的语言。已安装的语言为:[]

r - 在R中按升序对行数据进行排序

从 R 中的 foreach 循环返回列表的列表

r - xaringan - 我可以为整个演示设置倒计时吗?

r - 使用 ROracle 在 R 中执行存储的 Oracle 过程

正则表达式 UTM 谷歌

javascript - Shiny :从自己的 JS 脚本访问输入对象

r - 根据外部标准计算一行中的条目数

arrays - 将值分配给 R 中数组的特定维度

r - 计算变量之间所有可能的成对相互作用的逐步回归