33
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RでTwitterのツイートを取得する

Last updated at Posted at 2019-04-18

#まず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の合計で別のツイートがあるかわかります。)

33
29
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?