gpt4 book ai didi

r - R向量-向量与有序索引匹配

转载 作者:行者123 更新时间:2023-12-04 13:38:33 26 4
gpt4 key购买 nike

在这里,我有两个字符串向量,它们的顺序很重要,无法更改。

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
樱桃首先在pos 8和9匹配,然后苹果在4和5匹配。

有没有一种聪明的方法可以做到这一点而不求助于循环?

最佳答案

你可以试试这个

unlist(lapply(vec2, function(x) which(vec1 %in% x)))
[1] 8 9 4 5

这将依次返回vec2中存在的vec1中的元素。

关于r - R向量-向量与有序索引匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101300/

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