Getting distance between two words in R

后端 未结 3 1631
我寻月下人不归
我寻月下人不归 2020-12-22 00:59

Say I have a line in a file:

string <- \"thanks so much for your help all along. i\'ll let you know when....\"

I want to return a value

3条回答
  •  死守一世寂寞
    2020-12-22 01:18

    This is essentially a very crude implementation of Crayon's answer as a basic function:

    withinRange <- function(string, term1, term2, threshold = 6) {
      x <- strsplit(string, " ")[[1]]
      abs(grep(term1, x) - grep(term2, x)) <= threshold
    }
    
    withinRange(string, "help", "know")
    # [1] TRUE
    
    withinRange(string, "thanks", "know")
    # [1] FALSE
    

    I would suggest getting a basic idea of the text tools available to you, and using them to write such a function. Note Tyler's comment: As implemented, this can match multiple terms ("you" would match "you" and "your") leading to funny results. You'll need to determine how you want to deal with these cases to have a more useful function.

提交回复
热议问题