У меня есть набор данных открытых ответов в опросе. У меня есть набор тем, которые я хочу назначить этим открытым ответам в соответствии с содержанием ответов людей на данный вопрос.
Я хочу указать ключевые слова и выполнить поиск соответствия этим ключевым словам (/ строк) для конкретной переменной (в данном случае эта переменная является вопросом). Важно отметить, что эти строки могут быть только частичным совпадением с ответами, я просто указываю ключевые слова, которые будут отображаться в некоторой точке строки. Например, фильтрация ответов по тем, которые используют слово «деньги» в какой-то момент в своем ответе на данный вопрос. Учитывая совпадения строк, я хочу присвоить «1» этим строкам в новой переменной, назовем ее «Topic1».
У меня есть этот код:
df %>%
filter(str_detect(var, "money|cash|revenue|profit")) %>%
mutate(Topic1 = "1")
Этот код отлично работает для фильтрации и создания новой переменной в соответствии с указанными условиями. Тем не менее, если я назначу обратно фрейму данных, я теперь подмножество всего фрейма данных в соответствии с моим фильтром. Я хотел бы отфильтровать строки по предоставленным ключевым словам, создать новую переменную, затем «отфильтровать» фрейм данных и присвоить результат обратно df.
Мне интересно, есть ли «нефильтр», который я могу использовать для повторного выбора всех моих данных. ИЛИ, может быть, есть лучшее решение с ifelse?