У меня есть большой фрейм данных (~ 500 000 наблюдений), состоящий из структурированных данных Twitter (т. Е. Имя пользователя, количество повторных писем, текст) в RStudio. Я хочу провести анализ текста в твитах, чтобы можно было извлечь наблюдения с одним или несколькими ключевыми словами в тексте твита.
Я загрузил свои ключевые слова как keywords_C <- c("climate change","climate","climatechange","global warming","globalwarming")
. Текст Tweet хранится в моем фрейме данных в столбце с пометкой text
.
Как создать новый фрейм данных, содержащий только наблюдения, в которых одно или несколько ключевых слов присутствуют в столбце text
? Кроме того, я могу удалить наблюдения, где ключевые слова отсутствуют?
Мой фрейм данных называется NewCData
dput(droplevels(head(NewCData, 10)))
structure(list(timestamp = structure(c(1L, 3L, 2L, 6L, 4L, 4L,
5L, 8L, 7L, 9L), .Label = c("2015-10-30 21:37:58", "2015-10-30 21:38:02",
"2015-10-30 21:38:03", "2015-10-30 21:38:06", "2015-10-30 21:38:07",
"2015-10-30 21:38:10", "2015-10-30 21:38:14", "2015-10-30 21:38:32",
"2015-10-30 21:39:04"), class = "factor"), id_str = structure(c(1L,
3L, 2L, 7L, 4L, 5L, 6L, 9L, 8L, 10L), .Label = c("660209050429186048",
"660209067584016384", "660209072768212992", "660209083505504256",
"660209086143688704", "660209087628578816", "660209102790914048",
"660209119152893952", "660209195162206208", "660209325986549760"
), class = "factor"), user.id_str = structure(c(1L, 3L, 8L, 5L,
5L, 2L, 4L, 6L, 9L, 7L), .Label = c("277335277", "32380087",
"325105950", "33398863", "68956490", "808114195", "87712431",
"90280824", "949996219"), class = "factor"), user.followers_count = structure(c(7L,
2L, 8L, 4L, 4L, 3L, 6L, 9L, 5L, 1L), .Label = c("10212", "1062",
"1389", "15227", "2214", "2851", "38", "4137", "55"), class = "factor"),
ideology = structure(c(2L, 4L, 3L, 9L, 9L, 5L, 8L, 6L, 1L,
7L), .Label = c("-0.309303177803536", "-0.393703659798908",
"-0.795976086971656", "-0.811321629152632", "-0.946143178314071",
"-1.16317298915931", "0.353843466445817", "1.09919837237897",
"2.29286233202781"), class = "factor"), text = structure(c(2L,
9L, 4L, 1L, 3L, 10L, 5L, 7L, 6L, 8L), .Label = c("Better Dead than Red! Bill Gates says that only socialism can save us ",
"Expert briefing on #disarmament #SDGs @NMUN ",
"I see red people Bill Gates says that only socialism can save us from climate change ",
"RT: Oddly enough, some Republicans think climate change is real: Oddly enough,… #UniteBlue ",
"Ted Cruz: ‘Climate change is not science, it’s religion’ via @glennbeck",
"This is an amusing headline: \"Bill Gates says that only socialism can save us from climate change\"",
"Unusual Weather Kills Gulf of Maine Cod : Discovery News #globalwarming ",
"What do the remaining Republican candidates have to say about climate change? #FixGov",
"Who Uses #NASA Earth Science Data? He looks at impact of #aerosols on #climate #weather!",
"Why go for ecosystem basses conservation! #ClimateChange #Raajje #Maldives"
), class = "factor")), .Names = c("timestamp", "id_str",
"user.id_str", "user.followers_count", "ideology", "text"), row.names = c(NA,
10L), class = "data.frame")