dplyr过滤器使用qdap :: which_misspelt或dplyr过滤器和嵌套函数

时间:2017-06-30 00:39:48

标签: r dplyr qdap

一个小数据框:

words <- data.frame(terms = c("qhick brown fox",
          "tom dick harry", 
          "cats dgs"))

如果我使用qdap::which_misspelled,我可以找到拼错的字词:

> which_misspelled(words)
      1       8 
"qhick"   "dgs" 

但我想要做的是在包含拼写错误的行上对单词df进行子集化。上面的内容返回索引1和8,指的是我的df中提供的所有单词,无论哪一行。

如何基于包含拼写错误的单词的任何行对我的df进行子集化?

(如果可以使用dplyr过滤器,可以获得奖励)

1 个答案:

答案 0 :(得分:4)

如何使用矢量化的check_spelling,结果中包含一列行号,可用于对数据框进行子集化:

library(qdap)
words[check_spelling(words$terms)$row,,drop=F]

#            terms
#1 qhick brown fox
#3        cats dgs

which_misspelled函数似乎意味着要检查单个字符串而不是数据框:

  

which_misspelled - 检查字符串的拼写。