我有两个向量
key.vec <- c("apple:ball", "ball:cat","dog:ear")
vec2 <- c("ball:apple","cat:cat","cat:ball","ball:cat","apple:ball")
我现在想使用 key.vec
来查找 vec2
中的项目并获取项目,而不管它们的顺序由 分隔:
.
所以如果我尝试这样的操作,结果应该如下所示vec2[match(key.vec,vec2)]
:
结果:
"apple:ball", "ball:cat", "ball:apple","cat:ball"
最佳答案
这应该有效。
按每个字符拆分所有向量,然后找到每个字符的频率 (key.vec
)。接下来查找目标向量 (vec2
) 中是否存在每个字符的相同频率。这将有助于处理这两种模式。
vec2[lapply(strsplit(vec2, ""), table) %in% lapply(strsplit(key.vec, ""), table)]
#[1] "ball:apple" "cat:ball" "ball:cat" "apple:ball"
关于r - 如何匹配 R 中两个向量的逆序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39504002/