提问人:Carl Witthoft 提问时间:2/22/2013 最后编辑:csgillespieCarl Witthoft 更新时间:2/22/2013 访问量:561
R:all.equal的替代品?
R: alternatives to all.equal?
问:
虽然是一个非常强大的工具,具有大量信息丰富的响应字符串,但我想要一个等效的函数,它只需返回 TRUE/FALSE 即可实现近乎相等。(我知道标准技巧,例如)。我编写了以下代码片段,但想知道我是否忽略了其中一个 R 包中的类似函数。all.equal
identical(all.equal(foo,bar), TRUE)
approxeq <- function(x,y,tolerance = .Machine$double.eps ^ 0.5,...) {
#Note: better input validation should be written
if (length(x) != length(y)) stop('lengths must be equal')
checkit <- abs(x-y) < tolerance
return(invisible(checkit))
}
和之间的主要区别在于,前者为我提供了逐个元素的相等性测试结果。我不是说这更好,只是不同。
那么,有谁知道在已发布的软件包中是否有类似(并且可能更强大)的功能?approxeq
all.equal
答: 暂无答案
下一个:比较浮点值有多危险?
评论
isTRUE(all.equal(x,y))
是你提到的“伎俩”的简写版本。mapply(x, y, FUN = all.equal) == TRUE
stopifnot(length(x) == length(y), is.numeric(x), is.numeric(y))