19.5 Shiny实战:可视化警察致命射击

本节演示了一个Shiny应用程序的构建过程,该程序将2018年上半年(1月到6月)美国被警察射中致命的数据集进行可视化显示。华盛顿邮报发布了该数据集[1],并已上传到GitHub[2]。程序为数据集的城市和州信息添加上了经纬度内容;数据准备的代码和完整的应用程序代码都在本书代码仓库中[3]

本书写作时,数据集中包含了506个死亡事件,每个事件包含17条信息,例如名字、年龄和种族(图19-8显示了部分信息)。Shiny应用程序是为了显示被警察杀死的人群的地理分布,并提供该事件的总结信息,例如按种族或者性别分类的死亡总数。该程序(见图19-10)允许用户在数据集中选择变量来分析数据,例如选择种族或性别。该选择将指定地图中的颜色编码以及汇总表中的聚合程度。

本程序的主要功能是显示每个射击地点的交互式地图。图中每个点的颜色表示该个体的附加信息(例如种族或性别)。用户动态选择相应颜色的列,可以先从创建“硬编码”列的地图开始。例如,可以使用Leaflet(17.3节)生成地图,显示每次射击的位置,并根据死者的种族进行颜色标记(如图19-9所示):

图19-8 警察射击数据集的子集,华盛顿邮报发布

图19-9 使用leaflet生成的2018年被警察杀死的死者地理分布图 ...

Get 数据科学之编程技术:使用R进行数据清理、分析与可视化 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.