У меня есть фрейм данных, который показывает сообщения, полученные от разных пользователей (по одному пользователю на строку). Я написал функцию (называемую CountSelectWords), которая может считать экземпляры данного слова или фразы в каждом сообщении.
Теперь я пытаюсь написать скрипт, который будет запускать функцию подсчета во фрейме данных с лексиконом слов, которые я объединил.
Я успешно смог использовать mutate для добавления новых столбцов с количеством для одного слова за раз, но как я могу создать цикл для выполнения этого для нескольких слов?
Я пытался использовать цикл for, а также применять, но безрезультатно.
Вот код, который работает для добавления отдельных столбцов:
data_frame2 <- data_frame1 %>%
mutate(word1 = CountSelectWords(chat_description, "word1"),
word2 = CountSelectWords(chat_description, "word2"))
где «word1» и «word2» - слова для поиска в каждом сообщении; и "chat_description" - это имя интересующего столбца.
Результатом является новый фрейм данных (data_frame2) с 2 дополнительными столбцами, названными соответственно «word1» и «word2», в которых перечисляется количество этих слов в каждой строке.
Однако, когда я пытаюсь написать словарь слов и создать цикл for на его основе, это не сработает:
lexicon <- c("word1", "word2", "word3", "word4", "word5")
for (i in lexicon) {
data_frame3 <- data_frame1 %>%
mutate(paste("countof", as.character(i), sep = "_") = CountSelectWords(chat_description, i))
}
При попытке запустить цикл for появляется следующее сообщение об ошибке:
Error: unexpected '=' in:
"data_frame3 <- data_frame1 %>%
mutate(paste("countof", as.character(i), sep = "_") ="
Любая помощь будет высоко ценится!