R 打印单词的出现/位置
我尝试了一些不同的软件包,以构建一个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
"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