根据R数据帧中因子中缺少单词删除行

根据R数据帧中因子中缺少单词删除行,r,dataframe,data-cleaning,grepl,R,Dataframe,Data Cleaning,Grepl,我有一个包含文本和作者的数据框。我只需要在一个因子级别清理数据,以保留存在一个单词的所有行。下面是一个小例子: author(factor) text John Pear Plum Mary Pear Apple Banana Grapes Mike Grapes Apple Peach John Banana Pear Apple John Apple Melo

我有一个包含文本和作者的数据框。我只需要在一个因子级别清理数据,以保留存在一个单词的所有行。下面是一个小例子:

author(factor)   text

John             Pear Plum

Mary             Pear Apple Banana Grapes

Mike             Grapes Apple Peach

John             Banana Pear Apple

John             Apple Melon 
这是我想要得到的结果,删除John没有提到Apple一词的每一行:

author(factor)   text

Mary             Pear Apple Banana Grapes

Mike             Grapes Apple Peach

John             Banana Pear Apple

John             Apple Melon 
这就是我尝试过的:

df$author%in% "John"[!grepl("Apple", df$text, ignore.case = T),,drop = FALSE]
作为响应,我得到一条错误消息:

  Error in "John"[!grepl("Apple", df$text, ignore.case = T),  : 
  incorrect number of dimensions
我已经看过关于对数据进行分组的建议,但我找不到任何与我的情况类似的建议。非常感谢您的帮助。

这是否有效:

library(dplyr)
library(stringr)
df %>% filter(!(author == 'John' & !str_detect(text, 'Apple')))
# A tibble: 4 x 2
  author text                    
  <chr>  <chr>                   
1 Mary   Pear Apple Banana Grapes
2 Mike   Grapes Apple Peach      
3 John   Banana Pear Apple       
4 John   Apple Melon        
库(dplyr)
图书馆(stringr)
df%>%过滤器(!(author='John'和!str_detect(文本'Apple'))
#一个tibble:4x2
作者文本
玛丽梨苹果香蕉葡萄
2迈克葡萄苹果桃
约翰香蕉梨苹果
约翰苹果瓜
使用的数据:

df
# A tibble: 5 x 2
  author text                    
  <chr>  <chr>                   
1 John   Pear Plum               
2 Mary   Pear Apple Banana Grapes
3 Mike   Grapes Apple Peach      
4 John   Banana Pear Apple       
5 John   Apple Melon          
df
#一个tibble:5x2
作者文本
约翰梨李子
2个玛丽梨苹果香蕉葡萄
3迈克葡萄苹果桃
约翰香蕉梨苹果
约翰苹果瓜

@Jess,奇怪,你的数据和你上面分享的格式一样吗?很抱歉,我在重写代码时犯了一个小错误!现在成功了,非常感谢!