gpt4 book ai didi

r - 如何在testthat框架中设置expect_equal的容差

转载 作者:行者123 更新时间:2023-12-03 11:39:45 25 4
gpt4 key购买 nike

我想知道在 R 中是否可以使用 testthat测试框架来设置对平等的容忍度。

目前,如果 example.R是:

library(testthat)
three_times<-function(x) 3*x

context('Test three_times')
test_that('Three times returns 3 times x',{
expect_equal(three_times(3),9)
expect_equal(three_times(pi),9.4247)
})

并使用 test_file('example.R','stop') 执行,第一个测试通过,但第二个失败:
 Error: Test failed: 'Three times returns 3 times x'
Not expected: three_times(pi) not equal to 9.4247
Mean relative difference: 8.271963e-06.

是否可以为平均相对差异设置更高的误差阈值?例如 1e-3。我有一些预期的结果,只有 3 位小数精度,这意味着现在我的测试总是失败......

最佳答案

您可以传递参数 scaletolerance .这些参数被传递给 all.equal .

expect_equal(three_times(pi),9.4247, tolerance=1e-8)
Error: three_times(pi) not equal to 9.4247
Mean relative difference: 8.271963e-06

expect_equal(three_times(pi),9.4247, tolerance=1e-3)

?all.equal寻求更多帮助

关于r - 如何在testthat框架中设置expect_equal的容差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25463475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com