根据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,奇怪,你的数据和你上面分享的格式一样吗?很抱歉,我在重写代码时犯了一个小错误!现在成功了,非常感谢!