我正在尝试删除数据框中包含某个单词或某些单词序列的行。例如:
mydf <- as.data.frame(read.xlsx("C:\\data.xlsx, 1, header=T"))
head(df)
# NO ARTICLE
# 1 34 New York Times reports blabla
# 2 42 Financial Times reports blabla
# 3 21 Greenwire reports blabla
# 4 3 New York Times reports blabla
# 5 46 Newswire reports blabla
我想从我的data.frame
中删除包含字符串“New York Times”和“Newswire”的行。我尝试过使用%in%
或grep
的不同方法,但我不太清楚如何使用它!
我该怎么做?
答案 0 :(得分:3)
根据我的评论,使用grepl
,它会在向量中找到指定的字符串时返回逻辑值。在你的情况下,像:
df[!grepl('New York Times',df$Article),]
应该这样做。
答案 1 :(得分:0)
# Sample Data
NO <- c(34, 42, 21, 3)
ARTICLE <- c('New York Times reports blah blah fake news',
'Financial Times blah blah',
'Fox News has been very nice to me',
'Newswire reports blah blah')
df <- data.frame(NO, ARTICLE)
# Create List of Exclusion Phrases
fakenews <- c('New York Times', 'Newswire')
# Exclude
very.nice.to.me <- df[ !grepl(paste(fakenews, collapse="|"), df$ARTICLE),]