字符向量中的单词,如何优化此脚本?

问题描述 投票:0回答:1

我有一个称为“数据”的字符向量,其中包含许多句子。我希望能计算出字典“ dic”中存在的所有“ data”句子中所有单词的百分比。

这两个循环可以完成工作,但是它们花费的时间太长。如何优化代码?

dic<-c("apples","grapes","bananas")
data<-c("apples are good for you","grapes and blueberries are violet" )

wordsin<-0
wordsnotin<-0
for (j in c(1:length(data))){
  for (word in strsplit(data[j]," ")[[1]]){
    if (word %in% dic){
      wordsin<-wordsin+1
    }
    else{
      wordsnotin<-wordsnotin+1
    }}}

percentage<- (wordsin / wordsin + wordsnotin) * 100

期望输出:

我的词典中的-2个单词

总共-10个字

然后40%是预期的百分比。 ((2/10)* 100)

r dictionary character keyword
1个回答
0
投票

不需要循环。我很快将一些代码放在一起。您可以将文本挖掘工具用于此类任务。下面的示例使用tidytext和dplyr。

© www.soinside.com 2019 - 2024. All rights reserved.