R语言进行Twitter数据可视化( 三 )
< 0,'Negative','Positive')df.senti.score.2$Score1 = Score2# 数据可视化ggplot(df.senti.score.2)+geom_bar(aes(x = Label,y = Freq,fill = Sentiment),stat = 'identity',show.legend = FALSE)+# 积极情感geom_hline(yintercept = mean(abs(df.senti.score.2[which(df.senti.score.2$Sentiment == 'Positive'),'Freq'])),col = I('black'),size = 1)+geom_text(aes(fontface = 'italic',label = paste('Average Freq:',ceiling(mean(abs(df.senti.score.2[which(df.senti.score.2$Sentiment == 'Positive'),'Freq'])))),x = 11,y = mean(abs(df.senti.score.2[which(df.senti.score.2$Sentiment == 'Positive'),'Freq']))+20),hjust = 'right',size = 4)+# 消极情感geom_hline(yintercept = mean(df.senti.score.2[which(df.senti.score.2$Sentiment == 'Negative'),'Freq']),col = I('black'),size = 1)+geom_text(aes(fontface = 'italic',label = paste('Average Freq:',ceiling(mean(abs(df.senti.score.2[which(df.senti.score.2$Sentiment == 'Negative'),'Freq'])))),x = 9,y = mean(df.senti.score.2[which(df.senti.score.2$Sentiment == 'Negative'),'Freq'])-10),hjust = 'left',size = 4)+labs(title = 'Barplot of Sentiments',subtitle = 'Prabowo Subianto',caption = 'Twitter Crawling 28 - 29 May 2019')+xlab('Score')+scale_x_discrete(limits = df.senti.score.2$Label,labels = df.senti.score.2$Score1)+theme_bw()+scale_fill_brewer(palette = 'Dark2')
文章插图
图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”的微博往往具有更高的情绪得分 。 它必须进行进一步的分析 。
- 设计语言|全新家族设计,三星Galaxy A32渲染图曝光
- 信服|深信服何朝曦:安全不能只面向静态风险进行建设,应该从"面向风险"转向"面向能力"
- Twitter|Twitter的Audio Spaces测试包括转录、扬声器控制和报告功能
- 要来|折叠屏iPhone要来了?传已送至富士康进行测试
- 目标和意义进行|关于智能的新思考:我们为什么探索性提出智能三定律?
- 曝光|微软新专利曝光 可以与会者面部表情和肢体语言为会议打分
- 学习C语言的软件,就突然被我绿了?
- Linux 之父对 C++ 进行了炮轰,C++不值得推荐?
- 关系数据源|业务人员可以进行自助ETL操作?这款BI工具你值得拥有
- LeetCode第1 题:两数之和 Go语言精解