Я пытаюсь сделать что-то довольно простое (я думаю), но я не могу обойти его. Я пытаюсь написать цикл, который проверяет, содержит ли символьная переменная в фрейме данных какой-либо определенный список подстрок и присваивает соответствующее значение фиктивной переменной.R - зацикливание на 2 объекта
так, представьте себе data.frame, n = 2000, с переменной data.frame$text
. Кроме того, у меня есть вектор символов, содержащий все подстроки, которые я хочу для текста data.frame$text
для. Давайте назовем это hillary_exists
:
hillary_exists <- c("Hilary Clinton", "hilary clinton","hilaryclinton", "hillaryclinton", "HilaryClinton",
"HillaryClinton","Hillary Clinton", "Hillary Rodham Clinton", "Hillary", "Hilary", "#Hillary2016", "#ImWithHer",
"Hillary2016", "hillary", "hilary", "Clinton 2016", "Clinton", "Secretary of State Clinton",
"Senator Clinton", "Hilary Rodham", "Hilary Rodham Clinton", "Hilary Rodham-Clinton", "Hillary Rodham-Clinton")
Теперь я хочу, чтобы мой цикл, чтобы проверить каждую строку data.frame$text
для существования каждого элемента hillary_exists
, и если какой-либо из них TRUE
, чтобы генерировать новое значение 1
для переменная data.frame$hillary_mention
. Это то, что я пробовал:
for(i in hillary_exists){
if(grepl(hillary_exists[i], data.frame$text)){
data.frame$hillary_mention <- 1
} else {
data.frame$hillary_mention <- 0 }
}
Но, очевидно, я пропускаю i
компонент для data.frame$text
элемента, но я не знаю, как решить ее.
Любая помощь была бы принята с благодарностью! Спасибо
Привет, Авинаш, спасибо за ваш комментарий, можете ли вы, возможно, немного поработать над этим? Насколько я могу судить, это в значительной степени то, что я сделал, не так ли? – nikUoM
вот так, 'data.frame $ hillary_mention [i] <- 1' –
Как насчет' data.frame $ hillary_mention <- sapply (data.frame $ text, function (s) any (grepl (s, hillary_exists))) '? –