比较两个表的值与R中的容差

A.A*_*idi 5 compare r intervals

我想比较两张桌子.如果表2的值放在表2的0.3容差(+0.3和-0.3)中,则称其正常,否则称其为异常.

样本数据:

Table 1.                        

0.17666667
-0.2413333
-0.179666
0.182437
0.012229
0.127333
-0.1180
0.8873
1.24100
1.5213

Table 2.

-1.6
-0.5
-0.4
-0.4
-0.2
2.5
0.6
2.2
2.3
1.3
Run Code Online (Sandbox Code Playgroud)

第一行的预期结果:

如果0.17666667** - 0.3**< - 1.6 <0.17666667**+ 0.3**

结果师范大学 否则异常

Mat*_*rde 5

您也可以使用all.equal

table.1 <- scan(text="
0.17666667
-0.2413333
-0.179666
0.182437
0.012229
0.127333
-0.1180
0.8873
1.24100
1.5213")

table.2 <- scan(text="
-1.6
-0.5
-0.4
-0.4
-0.2
2.5
0.6
2.2
2.3
1.3")

are.close <- function(x, y, tol) isTRUE(all.equal(x, y, tol))
close <- mapply(are.close, x=table.1, y=table.2, tol=0.3)
result <- ifelse(close, 'N', 'A')
# [1] "A" "N" "N" "A" "N" "A" "A" "A" "A" "N"
Run Code Online (Sandbox Code Playgroud)