【发布时间】:2018-11-06 01:54:39
【问题描述】:
我有两个字符串向量,我需要通过另一个向量的部分匹配来排序一个向量。向量看起来像这样:
因此,我需要获取第一个向量的每个元素并在names 中找到它的位置,以便两个向量的顺序相同。例如GF1 应该是第一个向量中的9th 元素。一旦知道订购,我就知道如何订购东西。我尝试了match 函数,但它无法返回我NAs:
names_order <- match(paste0(samples$groups, samples$mouse), names)
我也试过pmatch,但没有成功。可能是因为match 搜索完全匹配。 Grepl 功能也不起作用:
grep(paste0(paste0(samples$groups, samples$mouse), collapse = '|'), names, value = TRUE)
仅返回 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16,这只是在没有我需要的排序的情况下找到匹配项的位置。
任何建议将不胜感激。
【问题讨论】:
-
请不要发布代码/数据/错误的图像:它不能被复制或搜索 (SEO),它会破坏屏幕阅读器,并且它可能不适合某些移动设备。参考:meta.stackoverflow.com/a/285557/3358272
标签: r string-matching