【发布时间】:2015-05-07 12:37:46
【问题描述】:
这里我有两个字符串向量,它们的顺序很重要,不能更改。
vec1 <- c("carrot","carrot","carrot","apple","apple","mango","mango","cherry","cherry")
vec2 <- c("cherry","apple")
我想知道 vec2 中的元素是否出现在 vec1 中,如果出现,在哪里(索引/位置)以及以什么顺序。
我尝试了which(vec1 %in% vec2),它给出了4 5 8 9。这些是正确的索引,但顺序错误。我尝试了match(vec2,vec1),它给出了8 4。仅返回第一个匹配项。如果 vec1 是唯一的,这将起作用。
理想情况下,我正在寻找这个结果:8 9 4 5。
cherry 首先在 pos 8 和 9 匹配,然后 apple 在 4 和 5 匹配。
有没有不使用循环的聪明方法来做到这一点?
【问题讨论】:
标签: r