Twitterデータを地図に載せる

Rで学ぶソーシャルメディアデータ分析

Sowmya Vivek

Data Science Coach

レッスン概要

  • ツイートに含まれる位置情報の種類
  • 位置情報の取得元
  • ツイートから位置情報を抽出
  • 地図にツイート位置をプロット
Rで学ぶソーシャルメディアデータ分析

なぜTwitterデータを地図化するのか

  • 分布を地図化するとツイートの集中場所が分かる
  • その地域の人にターゲティングで影響を与える
  • 計画・突発イベントへの反応を把握する
Rで学ぶソーシャルメディアデータ分析

地理メタデータを含める

  • 投稿時にツイートへジオタグを付与できる
  • 位置情報メタデータは2種類
    • Place
    • 正確な位置
Rで学ぶソーシャルメディアデータ分析

Place

  • 「Place」はあらかじめ定義されたリストから選択
  • 緯度・経度のバウンディングボックスを含む
  • ツイートの実際の場所とは限らない

Place付きツイート

Rで学ぶソーシャルメディアデータ分析

正確な位置

  • GPS対応端末からの緯度・経度「Point」座標
  • 正確なGPS位置を表す
  • ジオタグ付きツイートは全体の1~2%
Rで学ぶソーシャルメディアデータ分析

位置情報の取得元

  • ツイート本文
  • ユーザーアカウントのプロフィール
  • ユーザーが追加したTwitterの「Place」
  • 正確な位置座標(ポイント)
Rで学ぶソーシャルメディアデータ分析

ツイートを取得する

library(rtweet)
# 「#politics」のツイートを18000件取得
pol <- search_tweets("#politics", n = 18000)
Rで学ぶソーシャルメディアデータ分析

位置情報を抽出する

# 位置情報を抽出し新しい列を追加
pol_coord <- lat_lng(pol)
  • 座標はcoords_coordsまたはbbox_coords列から抽出されます
Rで学ぶソーシャルメディアデータ分析

latとlng列を表示

View(pol_coord)

latとlng列

Rで学ぶソーシャルメディアデータ分析

lat/lng欠損行を除去

# latとlngが欠損の行を除去
pol_geo <- na.omit(pol_coord[, c("lat", "lng")])
Rで学ぶソーシャルメディアデータ分析

緯度経度を表示

head(pol_geo)
lat            lng
<dbl>         <dbl>
19.17414    72.874244            
53.35490    -6.247621            
53.27350    -6.399521            
53.67989     9.372680            
12.92311    77.558448            
54.59940    -5.836670
Rで学ぶソーシャルメディアデータ分析

米国州地図に緯度経度をプロット

# ツイートの経度・緯度を米国州地図にプロット
map(database = "state", fill = TRUE, col = "light yellow")

with(pol_geo, points(lng, lat, pch = 20, cex = 1, col = 'blue'))
Rで学ぶソーシャルメディアデータ分析

米国州地図で位置を表示

米国州地図への緯度経度プロット

Rで学ぶソーシャルメディアデータ分析

世界地図に緯度経度をプロット

# ツイートの経度・緯度を世界地図にプロット
map(database = "world", fill = TRUE, col = "light yellow")

with(pol_geo, points(lng, lat, pch = 20, cex = 1, col = 'blue'))
Rで学ぶソーシャルメディアデータ分析

世界地図で位置を表示

世界地図への緯度経度プロット

Rで学ぶソーシャルメディアデータ分析

Let's practice!

Rで学ぶソーシャルメディアデータ分析

Preparing Video For Download...