将 Twitter 数据放到地图上

用 R 分析社交媒体数据

Sowmya Vivek

Data Science Coach

课程概览

  • 推文中的地理数据类型
  • 地理定位信息来源
  • 从推文提取位置信息
  • 在地图上绘制推文位置
用 R 分析社交媒体数据

为何将 Twitter 数据放到地图上

  • 映射位置有助于了解推文集中区域
  • 以定向营销影响这些地区的人群
  • 了解对计划/突发事件的反应
用 R 分析社交媒体数据

包含地理元数据

  • 发布时,用户可为推文添加地理标签
  • 两类地理定位元数据
    • 地点(Place)
    • 精确位置
用 R 分析社交媒体数据

地点(Place)

  • "地点"(Place)从预定义列表中选择
  • 包含经纬度边界框
  • 不一定来自推文实际位置

带有地点的推文

用 R 分析社交媒体数据

精确位置

  • 来自启用 GPS 设备的特定经纬度"点"坐标
  • 表示精确 GPS 位置
  • 只有 1–2% 的推文带地理标签
用 R 分析社交媒体数据

地理定位信息来源

  • 推文文本
  • 用户账户资料
  • 用户添加的 Twitter 地点
  • 精确位置点坐标
用 R 分析社交媒体数据

提取推文

library(rtweet)
# Extract 18000 tweets on "#politics"
pol <- search_tweets("#politics", n = 18000)
用 R 分析社交媒体数据

提取地理定位数据

# Extract geolocation data and append new columns
pol_coord <- lat_lng(pol)
  • 坐标来自 coords_coords 或 bbox_coords 列
用 R 分析社交媒体数据

查看 lat 和 lng 列

View(pol_coord)

lat 和 lng 列

用 R 分析社交媒体数据

删除缺失 lat/lng 的行

# Omit rows with missing lat and lng values
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 分析社交媒体数据

在美国州地图上绘制地理坐标

# Plot longitude and latitude values of tweets on US state map
map(database = "state", fill = TRUE, col = "light yellow")

with(pol_geo, points(lng, lat, pch = 20, cex = 1, col = 'blue'))
用 R 分析社交媒体数据

在美国州地图上查看位置

在美国州地图上绘制地理坐标的图

用 R 分析社交媒体数据

在世界地图上绘制地理坐标

# Plot longitude and latitude values of tweets on the world map
map(database = "world", fill = TRUE, col = "light yellow")

with(pol_geo, points(lng, lat, pch = 20, cex = 1, col = 'blue'))
用 R 分析社交媒体数据

在世界地图上查看位置

在世界地图上绘制地理坐标的图

用 R 分析社交媒体数据

Passons à la pratique !

用 R 分析社交媒体数据

Preparing Video For Download...