R语言进行Twitter数据可视化( 四 )
文章插图
图4是包含关键字“Joko Widodo”和“Prabowo Subianto”的情感得分密度图 。 tweets的得分是由组成tweets的词根的平均得分得到的 。 因此 , 它的分数是针对每个词根给出的 , 其值介于-10到10之间 。 如果分数越小 , 那么微博中的负面情绪就越多 , 反之亦然 。 根据图4(左) , 可以得出结论 , 包含关键字“Joko Widodo”的推文的负面情绪在-10到-1之间 , 中间得分为-4 。 它也适用于积极的情绪(当然 , 有一个积极的分数) 。 根据图4(左)中的密度图 , 我们发现积极情绪的得分具有相当小的方差 。 因此 , 我们得出结论 , 对包含关键词“Joko Widodo”的微博的积极情绪并不是太多样化 。
图4(右)显示了包含关键字“Prabowo Subianto”的情感得分密度图 。 它与图4(左)不同 , 因为图4(右)上的负面情绪在-8到-1之间 。 这意味着tweets没有太多负面情绪(tweets有负面情绪 , 但不够高) 。 此外 , 负面情绪得分的分布在4和1之间有两个峰值 。 然而 , 积极情绪从1到10不等 。 与图4(左)相比 , 图4(右)的积极情绪具有较高的方差 , 在3和10范围内有两个峰值 。 这表明 , 包含关键词“Prabowo Subianto”的微博具有很高的积极情绪 。
# JOKO WIDODOdf.senti.3 = as.data.frame(table(senti.jokowi$class))colnames(df.senti.3) = c('Sentiment','Freq')# 数据预处理df.pie.1 = df.senti.3df.pie.1$Prop = df.pie.1$Freq/sum(df.pie.1$Freq)df.pie.1 = df.pie.1 %>%arrange(desc(Sentiment)) %>%mutate(lab.ypos = cumsum(Prop) - 0.5*Prop)# 数据可视化ggplot(df.pie.1,aes(x = 2,y = Prop,fill = Sentiment))+geom_bar(stat = 'identity',col = 'white',alpha = 0.75,show.legend = TRUE)+coord_polar(theta = 'y',start = 0)+geom_text(aes(y = lab.ypos,label = Prop),color = 'white',fontface = 'italic',size = 4)+labs(title = 'Piechart of Sentiments',subtitle = 'Joko Widodo',caption = 'Twitter Crawling 28 - 29 May 2019')+xlim(c(0.5,2.5))+theme_void()+scale_fill_brewer(palette = 'Dark2')+theme(legend.title = element_blank(),legend.position = 'right')# PRABOWO SUBIANTOdf.senti.4 = as.data.frame(table(senti.prabowo$class))colnames(df.senti.4) = c('Sentiment','Freq')# 数据预处理df.pie.2 = df.senti.4df.pie.2$Prop = df.pie.2$Freq/sum(df.pie.2$Freq)df.pie.2 = df.pie.2 %>%arrange(desc(Sentiment)) %>%mutate(lab.ypos = cumsum(Prop) - 0.5*Prop)# 数据可视化ggplot(df.pie.2,aes(x = 2,y = Prop,fill = Sentiment))+geom_bar(stat = 'identity',col = 'white',alpha = 0.75,show.legend = TRUE)+coord_polar(theta = 'y',start = 0)+geom_text(aes(y = lab.ypos,label = Prop),color = 'white',fontface = 'italic',size = 4)+labs(title = 'Piechart of Sentiments',subtitle = 'Prabowo Subianto',caption = 'Twitter Crawling 28 - 29 May 2019')+xlim(c(0.5,2.5))+theme_void()+scale_fill_brewer(palette = 'Dark2')+theme(legend.title = element_blank(),legend.position = 'right')
文章插图
图5是推特的情绪得分汇总 , 这些微博被分为负面情绪、中性情绪和积极情绪 。 消极情绪是指得分低于零的情绪 , 中性是指分数等于零的情绪 , 积极情绪得分大于零 。 从图5可以看出 , 关键字为“Joko Widodo”的微博的负面情绪百分比低于关键字为“Prabowo Subianto”的tweet 。 有6.3%的差异 。 研究还发现 , 与关键词为Prabowo Subianto的微博相比 , 包含关键词“Joko Widodo”的微博具有更高的中性情绪和积极情绪 。 通过piechart的研究发现 , 与关键字为“Prabowo Subianto”的tweet相比 , 带有关键字“Joko Widodo”的tweet倾向于拥有更高比例的积极情绪 。 但是通过密度图发现 , 积极和消极情绪得分的分布表明 , 与“Joko Widodo”相比 , 包含关键字“Prabowo Subianto”的微博往往具有更高的情绪得分 。 它必须进行进一步的分析 。
推荐阅读
- 大一非计算机专业的学生,如何利用寒假自学C语言
- 微软|外媒:微软将对Windows 10界面进行彻底改进 已招兵买马
- Linux 5.11开始围绕PCI Express 6.0进行早期准备
- AMP Robotics募资5500万美元 开发AI对可回收物进行分拣
- Mozilla正在对Firefox设计进行更新工作
- 为什么我喜欢C语言,却非常讨厌C++?一位国外程序员的回答
- iPhone 13仍将有四款型号 Pro版屏幕进行重大升级
- 谷歌对内部论文进行“敏感问题”审查!讲坏话的不许发
- Java语言会不会随着容器的兴起而衰落
- 大数据专业本科生选择主攻Python语言,如何提升就业竞争力