Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 检索指定索引前面的字符的第一个实例_R_String_Text Processing - Fatal编程技术网

R 检索指定索引前面的字符的第一个实例

R 检索指定索引前面的字符的第一个实例,r,string,text-processing,R,String,Text Processing,我想检索R中指定关键字前面的单词。例如,如果我传入: 红狗 “Dog”是指定的关键字,我希望能够检索单词“Red”并将其保存到向量中。是否有一个已经存在的函数可以执行此操作?我很幸运地浏览了stringr软件包。这里有一种方法: prior_word <- function(x, w, if_first = "[The First Word]"){ xs = strsplit(x, " ")[[1]] c(if_first, xs)[ match(w, xs) ] } 因

我想检索R中指定关键字前面的单词。例如,如果我传入:

红狗

“Dog”是指定的关键字,我希望能够检索单词“Red”并将其保存到向量中。是否有一个已经存在的函数可以执行此操作?我很幸运地浏览了stringr软件包。

这里有一种方法:

prior_word <- function(x, w, if_first = "[The First Word]"){
    xs = strsplit(x, " ")[[1]]
    c(if_first, xs)[ match(w, xs) ]
}
因此,只识别“Red”的第一个实例

prior_word("The Red Dog", c("The","Red","Dog", "Pirate"))
# "[The First Word]" "The"              "Red"              NA

如果一个单词是第一个,则返回一些默认值;如果找不到这个词,
NA

非常感谢。是否有办法编辑此函数,使输入成为字符的索引,并检索前面的单词?如果“索引”表示其在单词序列中的位置,则类似于
previor\u word2的内容非常有用。非常感谢。对不起,还有一件事。如果我想传入字符串中字符的索引,该怎么办?就像“红狗”是字符串一样,我将4作为索引参数传递给字符串(上面字符串中的“R”索引),我想检索“The”?嗯,我认为从这种方法扩展起来更难…
cumsum
nchar
可能会有所帮助。也许你应该把它作为一个新问题发布。
prior_word("The Red Dog", c("The","Red","Dog", "Pirate"))
# "[The First Word]" "The"              "Red"              NA