ツイート内容に含まれる単語の関係(バイグラム)をネットワーク図で示すことができれば面白いかもと思い、RMecab、twitteR、qgraphパッケージを組み合わせコマンドを作成しました。
使用パッケージのインストール
過去記事をご覧ください。
- Rとウェブ解析:お手軽!データをネットワークで表示「qgraph」パッケージの紹介
https://www.karada-good.net/analyticsr/r-47/ - Rでウェブ解析:テキストマイニングとタグクラウド
https://www.karada-good.net/analyticsr/r-10/ - Rでウェブ解析:Twitterデータの取得もおまかせ「twitteR」パッケージの紹介
https://www.karada-good.net/analyticsr/r-57/
実行コマンドの紹介
コマンドは作成途中にTwitterのアカウントロック騒動がありましたので、キーワード「アカウントロック」で検索し、バイグラムの出現数50以上を図をプロットしてみました。
#ライブラリの読み込み
library("twitteR")
library("RMeCab")
library("wordcloud")
library("RColorBrewer")
library("qgraph")
#情報の入力
consumerKey <- "Consumer Key (API Key)を入力"
consumerSecret <- "Consumer Secret (API Secret)を入力"
#処理の準備
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")
#認証の実行
twitCred$handshake()
registerTwitterOAuth(twitCred)
#キーワードで検索
SearchWords <- c("アカウントロック")
TwGetDF <- twListToDF(searchTwitter(searchString = SearchWords, #検索キーワード
n = 1000, #取得するツイート数
#since = YYYY-MM-DD #取得する期間
))
###データの作成######
res <- docDF(TwGetDF, column = 1, type = 1, N = 2, nDF = TRUE) #バイグラムデータの作成
res <- cbind(res[, 1:2], rowSums(res[, 5:ncol(res)])) #単語の出現率を集計
res <- res[order(res[,3], decreasing = TRUE),] #出現数を降順で並び替え
########
#グラフのプロット
#出現数の設定
PlotData <- subset(res, res[, 3] > 50)
#MACでの文字化け防止
par(family = "HiraKakuProN-W3")
#グラフのプロット
qgraph(PlotData, layout = "spring")
プロット結果
矢印の色が濃いほど出現数が大きい組み合わせとなります。現在はアカウントロックの問題は解決したようです。

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