使用 qdap::which_misspelt 的 dplyr 过滤器或具有嵌套函数的 dplyr 过滤器

dplyr filter using qdap::which_misspelt OR dplyr filter with a nested function

一个小数据框:

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

如果我使用 qdap::which_misspelled 我可以找出拼写错误的单词:

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

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

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

(如果可以用 dplyr 过滤器完成则加分)

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

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

#            terms
#1 qhick brown fox
#3        cats dgs

which_misspelled 函数似乎是为了检查单个字符串而不是数据框:

which_misspelled - Check the spelling for a string.