根据 R 数据帧中因子中缺少单词删除行
Deleting rows according to the absence of a word in factor in R dataframe
我有一个包含文本和作者的数据框。我只需要在一个因子级别清理数据,以保留存在一个单词的所有行。这是一个小例子:
author(factor) text
John Pear Plum
Mary Pear Apple Banana Grapes
Mike Grapes Apple Peach
John Banana Pear Apple
John Apple Melon
这是我想要得到的结果,删除约翰没有提到苹果这个词的每一行:
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
使用的数据:
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
我有一个包含文本和作者的数据框。我只需要在一个因子级别清理数据,以保留存在一个单词的所有行。这是一个小例子:
author(factor) text
John Pear Plum
Mary Pear Apple Banana Grapes
Mike Grapes Apple Peach
John Banana Pear Apple
John Apple Melon
这是我想要得到的结果,删除约翰没有提到苹果这个词的每一行:
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
使用的数据:
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