1
我有2個矢量,其被從regex
各種應用中產生特定的模式:遞歸匹配並使用AGREP替換字符串到向量元素()
> v1 <- c('abc', 'efg', 'hijk', 'mno')
> v2 <- c('abcde', 'ijklm')
我想在v2中的字符串匹配V1用agrep()
,
> agrep(v2[1], v1, max.distance = 2)
[1] 1
> agrep(v2[2], v1, max.distance = 2)
[1] 3
使得最接近V2在V1中的元件可以通過v2的代替,以得到以下矢量:
> rslt <- c('abcde', 'efg', 'ijklm', 'mno')
[1] "abcde" "efg" "ijklm" "mno"
我可能需要一個函數來更改max.distance
數字,以便找到最接近的匹配項。
你也可以做'agrep(x,v2,value = TRUE)'而不是'v2' – Sotos
看起來確實是一個更清潔的解決方案,相應地修改了答案。 – Florian
這段代碼的功能部分是如何工作的? – Sati