2016-12-06 4 views
-1

это мой первый пост, поэтому, пожалуйста, извините за любые нарушения. Я работаю над текстовым анализом с помощью R, и в настоящее время я пытаюсь суммировать столбцы моего кадра данных, обусловленные другим столбцом. В частности, выглядит мои результаты «dfResults» следующим образом:Как суммировать одну колонку на основе другой колонки

dfResults

Я хочу, чтобы подсчитать частоту слов для всех положительных слов (1) и отдельно частота всех отрицательных слов (-1), так что я могу легко вычислить оценку настроений. Это, наверное, очень просто, но я пробовал функции суммирования и суммирования, и это не сработало. Поблагодарите за помощь!

+0

group by 'sentiment', а затем сумма freq –

+0

Пожалуйста, покажите свой код и набор данных, которые вы пишете в R. –

ответ

-1

Надежда это то, что вы хотите:

library(dplyr) 
data %>% group_by(sentiment) %>% summarise(x = sum(freq)) 
+0

не могли бы вы проголосовать? человек, который –

-1

Обе вышеуказанные ответы будут работать. Кроме того, если вы хотите сделать это без использования какой-либо библиотеки, базовый путь, то у вас есть как минимум два варианта

  1. split() данные и суммировать полученные списки с lapply/sapply ИЛИ
  2. use aggregate()
lapply ((split(df$freq,df$sentiment)), sum)  
    aggregate(df$freq, by=list(df$sentiment), FUN=sum) 

Редактировать/Correction - aggregate не из базы, но из stats пакета. Однако, учитывая, что stats тоже является одним из пакетов по умолчанию, он доступен в сеансе R.

Смежные вопросы