这是我的第一篇文章,请原谅任何违规行为。我正在使用R进行文本分析,目前正在尝试总结我的数据框的列以另一列为条件。具体来说,我的结果' dfResults'看起来如下:
我想计算所有正面词(1)的单词频率,并分别计算所有负面单词(-1)的频率,以便我可以轻松计算情绪分数。这可能很容易,但我尝试了聚合和求和函数,但它没有用。非常感谢帮助!
答案 0 :(得分:-1)
希望这是你想要的:
library(dplyr)
data %>% group_by(sentiment) %>% summarise(x = sum(freq))
答案 1 :(得分:-1)
上述答案都可行。另外,如果你想在不使用任何库的基础上进行,那么你至少有两个选项
split()
数据并将结果列表与lapply / sapply相加,或者use aggregate()
lapply ( ( split(df$freq,df$sentiment) ), sum)
aggregate(df$freq, by=list(df$sentiment), FUN=sum)
编辑/更正 - aggregate
不是来自基地,而是来自stats
套餐。但是,鉴于stats
也是默认包之一,它在R会话中可用。