【发布时间】:2015-12-04 13:05:12
【问题描述】:
我正在使用 R 函数 expect_equal 来测试两个大向量是否相等(几乎)达到一定的容差。我想知道是否有办法只打印 expect_equal 打破公差的情况。
例如
a <- c(2.001, 3.5)
b <- c(2,3)
expect_equal(object=a,expected=b,tolerance=0.015, scale=1).
这会打印错误:
Error: c(2, 3) not equal to c(2.001, 3.5)
2/2 mismatches (average diff: 0.25).
前 2 个:
pos x y diff
1 2 2.0 -0.001
2 3 3.5 -0.500
即使案例 1“通过”了我的测试。是否可以只打印超出公差级别的案例?更好的是,如果我可以存储并参考失败的案例,以便我可以更快地排除错误。
【问题讨论】:
-
一种方法是在表格上创建一个新的向量甚至列来保存它们是否超出了公差水平。这样,您可以稍后参考它,然后通过仅对不符合您条件的条目调用的函数打印出您需要的内容。