繁体   English   中英

测试R中两个向量之间的匹配和顺序

[英]Test Match and Order between two vectors in R

我想测试两个向量之间的匹配和顺序。 我知道比赛功能; 是否有覆盖层可以同时评估订单? 例如:

x <- c("a", "b", "c")
y <- c("b", "a", "c")   
x %in% y    

完全匹配,但是顺序不正确。 关于如何识别的想法? 谢谢。

test_match_order <- function(x,y) {

if (all(x==y)) print('Perfect match in same order')

if (!all(x==y) && all(sort(x)==sort(y))) print('Perfect match in wrong order')

if (!all(x==y) && !all(sort(x)==sort(y))) print('No match')
}

test_match_order(x,y)

[1] "Perfect match in wrong order"

这是另一个基于我上面原始注释的版本,对下面的@alexis_laz进行了改进,使该函数更强大:

test_match_order2 <- function(x,y) {

if (isTRUE(all.equal(x,y))) print('Perfect match in same order')

if (!isTRUE(all.equal(x,y)) && isTRUE(all.equal(sort(x),sort(y)))) print('Perfect match in wrong order')

if (!isTRUE(all.equal(x,y)) && !isTRUE(all.equal(sort(x),sort(y)))) print('No match')
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM