R 打印单词的出现/位置

R 打印单词的出现/位置,r,R,我尝试了一些不同的软件包,以构建一个R程序,该程序将接受一个文本文件作为输入,并在该文件中生成一个单词列表。每个单词都应该有一个向量,其中包含该单词在文件中存在的所有位置。 例如,如果文本文件包含以下字符串: "this is a nice text with nice characters" 输出应该类似于: $this [1] 1 $is [1] 2 $a [1] 3 $nice [1] 4 7 $text [1] 5 $with

我尝试了一些不同的软件包,以构建一个R程序,该程序将接受一个文本文件作为输入,并在该文件中生成一个单词列表。每个单词都应该有一个向量,其中包含该单词在文件中存在的所有位置。 例如,如果文本文件包含以下字符串:

"this is a nice text with nice characters"
输出应该类似于:

$this  
[1] 1

$is      
[1] 2

$a        
[1] 3

$nice    
[1] 4 7

$text  
[1] 5

$with  
[1] 6

$characters
[1] 8
我看到了一篇有用的帖子,但它没有包括每个单词的位置。 我发现了一个类似的函数,名为“str_locate”,但是我想计算“单词”而不是“字符”


如果您能提供关于使用哪些软件包/技术的任何指导,我们将不胜感激。

您可以使用base R实现这一点(奇怪的是,它会精确地生成您建议的输出):

#数据

x您可以使用base R来实现这一点(奇怪的是,它会精确地生成您建议的输出):

#数据

非常感谢!它起作用了。我需要查看“sapply”文档以获取更多信息(我不知道),非常感谢!它起作用了。我需要查看“sapply”文档以了解更多信息(不知道)
# data
x <- "this is a nice text with nice characters"
# split on whitespace
words <- strsplit(x, split = ' ')[[1]]
# find positions of every word
sapply(unique(words), function(x) which(x == words))

### result ###
$this
[1] 1

$is
[1] 2

$a
[1] 3

$nice
[1] 4 7

$text
[1] 5

$with
[1] 6

$characters
[1] 8