r - R-部分字符串匹配
问题描述
我有
x <- c("DOL3", "AnnA", "CAT5", "Johna", "543QLARA", "Poro")
y <- c("3QLAR", "DOL5", "CAT5", "ANNA", "John", "Sam")
我想要一个函数,以便提供如下匹配:
my_function(x, y)
[1] 1, 2, 3, 4, 5, 不适用
详细信息:我需要找到开头相同、结尾相同或中间有一些相同字母的部分字符串匹配(例如,默认值为 3 个连续匹配字母)。无论是否使用大写字母,我还需要该功能进行匹配。最后,我需要该函数来搜索从 x 到 y 的所有元素之间的每个元素的匹配,而不是元素的一对一比较。
如果有人熟悉解决此问题的方法,请提供帮助。谢谢你。
解决方案
我想我找到了答案。
my_function_2 <- function(x, y) {
for (i in 1:length(x)) {
print(which(grepl(substring(x[i],1 ,3 ), y, ignore.case = TRUE)))
}
}
它并不优雅(x 必须包含较小的术语(即“3QLAR”而不是“543QLARA”)),它并没有涵盖所有内容,但它必须做。
推荐阅读
- javascript - 如何根据本机反应中的值更改BackgroundColor
- scenekit - 移动一个 SCNNode 并使其与移动前的相同点
- excel - For循环中if语句的问题
- python - 如果对等公钥未编码为主机私钥,如何生成 DH 共享密钥?
- reactjs - 为孩子卸载反应父母?
- node.js - 我们可以将 npm 包存储在可以直接下载的地方吗?
- elasticsearch - Elasticsearch 7 number_format_exception 将输入值作为字符串
- ruby-on-rails - 无法在导轨上打印数据“名称”红宝石
- json - 使用java流的复杂对象的组列表
- vue.js - 如何构建一个 Vue 应用程序以在另一个应用程序中使用它?