Rでウェブ解析:ツイート内容に含まれる単語をネットワーク図で表示

Rの解析に役に立つ記事
スポンサーリンク

ツイート内容に含まれる単語の関係(バイグラム)をネットワーク図で示すことができれば面白いかもと思い、RMecab、twitteR、qgraphパッケージを組み合わせコマンドを作成しました。


スポンサーリンク

使用パッケージのインストール

過去記事をご覧ください。

実行コマンドの紹介

コマンドは作成途中にTwitterのアカウントロック騒動がありましたので、キーワード「アカウントロック」で検索し、バイグラムの出現数50以上を図をプロットしてみました。

#ライブラリの読み込み
library("twitteR")
library("RMeCab")
library("wordcloud")
library("RColorBrewer")
library("qgraph")

#情報の入力
consumerKey <- "Consumer Key (API Key)&#12434;&#20837;&#21147;"
consumerSecret <- "Consumer Secret (API Secret)&#12434;&#20837;&#21147;"

#&#20966;&#29702;&#12398;&#28310;&#20633;
twitCred <- OAuthFactory$new(consumerKey = consumerKey,
                             consumerSecret = consumerSecret,
                             requestURL = "https://api.twitter.com/oauth/request_token",
                             accessURL = "https://api.twitter.com/oauth/access_token",
                             authURL = "http://api.twitter.com/oauth/authorize")

#&#35469;&#35388;&#12398;&#23455;&#34892;
twitCred$handshake()
registerTwitterOAuth(twitCred)

#&#12461;&#12540;&#12527;&#12540;&#12489;&#12391;&#26908;&#32034;
SearchWords <- c("&#12450;&#12459;&#12454;&#12531;&#12488;&#12525;&#12483;&#12463;")
TwGetDF <- twListToDF(searchTwitter(searchString = SearchWords, #&#26908;&#32034;&#12461;&#12540;&#12527;&#12540;&#12489;
                                    n = 1000, #&#21462;&#24471;&#12377;&#12427;&#12484;&#12452;&#12540;&#12488;&#25968;
                                    #since = YYYY-MM-DD #&#21462;&#24471;&#12377;&#12427;&#26399;&#38291;
))

###&#12487;&#12540;&#12479;&#12398;&#20316;&#25104;######
res <- docDF(TwGetDF, column = 1, type = 1, N = 2, nDF = TRUE) #&#12496;&#12452;&#12464;&#12521;&#12512;&#12487;&#12540;&#12479;&#12398;&#20316;&#25104;
res <- cbind(res[, 1:2], rowSums(res[, 5:ncol(res)]))&#12288;#&#21336;&#35486;&#12398;&#20986;&#29694;&#29575;&#12434;&#38598;&#35336;
res <- res[order(res[,3], decreasing = TRUE),] #&#20986;&#29694;&#25968;&#12434;&#38477;&#38918;&#12391;&#20006;&#12403;&#26367;&#12360;
########

#&#12464;&#12521;&#12501;&#12398;&#12503;&#12525;&#12483;&#12488;
#&#20986;&#29694;&#25968;&#12398;&#35373;&#23450;
PlotData <- subset(res, res[, 3] &gt; 50)

#MAC&#12391;&#12398;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;
par(family = "HiraKakuProN-W3")

#&#12464;&#12521;&#12501;&#12398;&#12503;&#12525;&#12483;&#12488;
qgraph(PlotData, layout = "spring")

プロット結果

矢印の色が濃いほど出現数が大きい組み合わせとなります。現在はアカウントロックの問題は解決したようです。

Rplot01

少しでも、あなたのウェブや実験の解析が楽になりますように!!

タイトルとURLをコピーしました