【问题标题】:agrep function of R is not working for text matchingR的agrep函数不适用于文本匹配
【发布时间】:2016-10-25 10:02:40
【问题描述】:

我正在尝试使用Ragrep 函数匹配字符串。我不明白,为什么它没有返回任何价值。我正在寻找一种解决方案,它将提供给定文本的封闭匹配。在给定的示例中,它应该显示"ms sharda stone crusher prop rupa"

如果能提供任何帮助,我将不胜感激。 提前致谢。

x= as.vector(c("sharda stone crusher prop roopa","sharda stone crusher prop rupa"))
agrep("ms sharda stone crusher prop rupa devi",x,ignore.case=T,value=T,max.distance = 0.1, useBytes = FALSE)
character(0)

【问题讨论】:

  • 因为你要匹配整个表达式"ms sharda stone crusher prop rupa",试试agrep("rupa",x,ignore.case=T,value=T,max.distance = 0.1, useBytes = FALSE) 为什么你使用agrep 而不是grep
  • 但我正在寻找匹配整个表达式的方法。有没有办法做到这一点?谢谢!
  • 所以它没有返回任何值.. 因为整个表达式不包含在您的向量中.. 显示您正在寻找的输出...(通过编辑您的响应)
  • 抱歉给我带来了困惑,编辑了我的问题。我想得到给定表达式的最接近的匹配。

标签: r text-mining agrep


【解决方案1】:

这是因为您的max.distance 参数。见?agrep

例如:

agrep("ms sharda stone crusher prop rupa devi",x,ignore.case=T,value=T,max.distance = 0.2, useBytes = FALSE)
"sharda stone crusher prop rupa"
agrep("ms sharda stone crusher prop rupa devi",x,ignore.case=T,value=T,max.distance = 0.25, useBytes = FALSE)
"sharda stone crusher prop roopa" "sharda stone crusher prop rupa" 
agrep("ms sharda stone crusher prop rupa devi",x,ignore.case=T,value=T,max.distance = 9, useBytes = FALSE)
"sharda stone crusher prop rupa"
agrep("ms sharda stone crusher prop rupa devi",x,ignore.case=T,value=T,max.distance = 10, useBytes = FALSE)
"sharda stone crusher prop roopa" "sharda stone crusher prop rupa" 

如果您只想要最接近的匹配,请参阅: best match

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2021-08-21
    • 2014-09-13
    • 2015-09-25
    • 1970-01-01
    • 2012-06-22
    • 2018-01-03
    相关资源
    最近更新 更多