#まずTwitterAPIを取得する
Twitterのツイートを持ってくるにはTwitterAPIが必要です。
取得には英語で100wordほどの取得理由を送る必要があります。一番の難関。
☆詳しくは割愛します☆
(追記:rtweetを使えばTwitterAPIはなくてもツイートの取得できるみたいです)
#パッケージをインストールしてAPIを設定する
twitteRというパッケージをインストールします。
install.packages("twitteR")
library(twitteR)
APIKey <- "取得したAPI Key"
APISecret <- "取得したAPI secret key"
accessToken <- "取得したAccess token"
accessSecret <- "取得したAccess token secret"
setup_twitter_oauth(APIKey, APISecret, accessToken, accessSecret)
最後の行を実行するとYES or NOと出ると思うのでYESにする。
出なければ気にしなくていいかな
#ツイートの分析をする
今回はペプシの公式アカウント(@pepsi_jpn)がやっているプレゼントキャンペーンの本田のじゃんけんの勝率を調べてみようと思います。
userTimelineというものを使います。指定したユーザーのツイートを現在から過去にn個取得します。
tws <- userTimeline("pepsi_jpn", n = 3200) #userTimelineの上限が3200っぽい
tws <- twListToDF(tws) #データフレームにする
lose <- tws[grep("あなたの勝利",tws$text),] #grep関数で一致するものを抽出する
win <- tws[grep("本田圭佑の勝利",tws$text),]
p <- 100*nrow(win)/nrow(tws) #本田圭佑のじゃんけんの勝率
# 実行結果
#"2019-04-18 05:19:22 UTC" "2019-04-18 05:21:30 UTC"の間で
> nrow(win)
[1] 3199
> nrow(lose)
[1] 1
> p
[1] 99.96875
勝率がわかりました。さすが本田圭佑ですね。
ただ今回の場合勝率を出すには3200戦じゃ少ないからもっとやったほうがいいですね。
注意点として、じゃんけんの勝敗に関するツイートのみをしていた場合にこの方法が使えます。
途中に別のツイートが入っていた場合は取り除かなければいけないです。(winとloseの合計で別のツイートがあるかわかります。)