r - 按顺序匹配向量

标签 r vector string-matching

我有 2 个向量。

x=c("a", "b", "c", "d", "a", "b", "c")
y=structure(c(1, 2, 3, 4, 5, 6, 7, 8), .Names = c("a", "e", "b", 
"c", "d", "a", "b", "c"))

我要匹配 aa , bb依次相应地,使 x[2]匹配 y[3]而不是 y[7] ;和 x[5]匹配 y[6]而不是 y[1] , 等等等等。
lapply(x, function(z) grep(z, names(y), fixed=T))

给出:
[[1]]
[1] 1 6

[[2]]
[1] 3 7

[[3]]
[1] 4 8

[[4]]
[1] 5

[[5]]
[1] 1 6

[[6]]
[1] 3 7

[[7]]
[1] 4 8

匹配所有实例。我如何获得这个序列:
1 3 4 5 6 7 8

所以x中的元素可以映射到y中的对应值因此?

最佳答案

您实际上是在寻找 pmatch

pmatch(x,names(y))
[1] 1 3 4 5 6 7 8

关于r - 按顺序匹配向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50129650/

相关文章:

r - 尝试将离散 stat_bin_2d 与连续 stat_密度_2d 绘制在一起

C++,2D std::vector,我是否需要显式保留并推回空 vector ?

c++ - 斯坦福 C++ 库映射 vector 错误

c++ - 删除指向抽象类的指针 vector

r - 如何根据子字符串匹配选择 R data.table 行(类似于 SQL)

python - 如何拆分字符串并将其子字符串与子字符串列表匹配? - Python

r - R中欧拉图圆的坐标

r - 使用 MXnet 时如何保存模型

r - 你如何具体排序 ggplot2 x 轴而不是字母顺序?

r dplyr ends_with多个字符串匹配