在 R 中为 str_extract_all 使用变量输入

范式343

总的来说,我对 R 和编码很感兴趣。我最近一直在为一门语言学课程开展 CS 项目,通过该项目,我找到了《指环王》中围绕各种自然景观词的词例如,我有兴趣找到围绕“流”、“山”等词使用的描述性词。

无论如何,为了从文本中提取所有这些单词,我一直在处理这篇文章。单独运行此命令时,它可以工作:

stringr::str_extract_all(text, "([^\\s]+\\s){4}stream(\\s[^\\s]+){6}")

其中“流”是我要追求的特定词。之前和之后的数字指定我想与其一起提取之前和之后的字数。

但是,我有兴趣将这个(和其他一些东西)组合成一个单一的函数,你需要在其中插入你想要搜索的文本,以及你想要获取上下文的单词。但是,就我的修补而言,除了特定的单词之外,我无法在上述代码中使用任何其他内容。在 R 中编写函数的上下文中,是否有一种方法可以包含上述代码,但使用变量输入,例如

stringr::str_extract_all(text, "([^\\s]+\\s){4}WORD(\\s[^\\s]+){6}")

其中 WORD 是您在整个函数中指定的任何内容:

function(text,WORD)
我为这篇文章普遍存在的新鲜感表示歉意。我对这一切都很陌生,但非常感谢您能提供的任何帮助。

塞尔坎

这就是你要找的,如果我理解正确的话,

my_fun <- function(input_text, word) {
    
    
    stringr::str_extract_all(
        string = input_text,
        pattern = paste("([^\\s]+\\s){4}", word,  "(\\s[^\\s]+){6}", sep = "")
    )
    
    
    
}

愿埃兰迪尔之光永远照耀你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章