【R图秀-7】中美俄军事实力对比
傅兴:个人公众号:Rapp
往期回顾
前不久在同事的推荐下,我学习了一种新的数据可视化方法:Ternary Diagrams(三元图),它是一种可以在2-D平面中展示3-D关系的可视化方法。今天我就和大家一起来分享如何用三元图来对比中美俄三国的军事实力。
首先介绍一下我们的画图工具:ggtern (http://www.ggtern.com/)。它是一个基于ggplot2的专门用来画三元图的包,熟悉ggplot2的读者可以很容易掌握ggtern的用法。
如果没有用过ggplot2,也没有关系,网上有一个很好的ggtern 教程(https://www.r-bloggers.com/using-r-to-create-ternary-diagrams-an-example-using-2016-presidential-polling-data/)。只要照着上面的例子学,很快也能画出像下面这样漂亮的三元图。
教程中的这个例子使用的是2016年美国总统大选时的民意调查数据。图上的每一个点代表的是某一天的民意调查,点的位置由3个候选人的得票率所决定。越靠近三角形的某个顶点,该候选人的得票率越高。从上图可以看到,大选实际上就是在trump和clinton之间进行的,可怜的johnson就是来打酱油的。
总统选举太boring了,既然已经学会了ggtern,何不用它来画点更酷的图?我很快想到了用三元图来对比三个大国之间的军事力量。
对于一个非军事专业的人来说,想要找到各国官方的军事实力数据很难。经过一番努力地搜索,我找到了一个名为Global Firepower (GFP) 的网站 (http://www.globalfirepower.com/),它主要收集的是网上已经公开的数据,虽然未经官方认证,但是用来娱乐一下还是足够了。
简单浏览了一下GFP网站,感觉做的还是不错的。他在给世界各国(127个国家)的军事实力做排名的时候,不仅考虑了陆海空军,还包括了诸如资源,财力,地形等其他能够影响战争结局的因素。不出所料,美俄中三国位列排行榜前三。
接下来就是用R来抓数据,用的还是rvest包。我感觉这个网站在展示数据的时候HTML写的不够好(用了很多paragraph,而不是用table;数字和单位也混杂在一起),花了不少时间写sub替换才把数据完整地解析出来。代码如下:
得到的数据是这样的:
接下来,我根据数据中的8个大类("AIR","FINANCIAL","GEOGRAPHY","LAND","LOGISTICAL","MANPOWER","NAVAL","RESOURCES" )分别用ggtern作图。代码如下:
下面来看看在这8个方面,中美俄之间到底谁更胜一筹。
1. 空军
无论是运输机,教练机,还是各种作战飞机,美国都是遥遥领先(至少在数量上)。
2. 海军
美军的航空母舰(Aircraft Carriers)数量远超中俄,三个国家的潜艇(Submarines)数目势均力敌。可以看到中国的沿海防御舰艇(Coastal Defense Craft)是最多的,说明和美俄相比,我们国家的周边环境(如钓鱼岛,南海等)面临着比较大的威胁。从海军的综合实力(Total Naval Strength)来看,中美要胜于俄罗斯。
3. 陆军
从各种战车,火炮和坦克的数量来看,俄罗斯陆军的优势比较明显。
4. 财力
强大的军队背后,一定会有一个强大的国家。一国的财力对军队建设起着至关重要的作用。虽然中美两国在经济上已经远超俄罗斯,但我们同时也看到,中国的国防预算(Defense Budget)和美国相比还是很低的。美国人用借来的钱(External Debt)支撑起他们的全球军事霸权。
5. 人力
虽然打仗离不开金钱和武器,但是中国军队也曾战胜过不可一世的美军,因为人民才是战争胜负的决定因素。作为人口世界第一的大国,从人力的角度来看,我们的优势远超美俄。
6. 资源
从石油储备来看,俄罗斯还是占据优势,中国的劣势较明显。
7. 后勤
中国在劳动力(Labor Force)和商船(Merchant Marine)方面的优势明显。在公路,铁路的覆盖度和机场数目方面还是美国占优。
8. 地形
从地形角度来看,三者差别不大。
GFP列举的基本上还是发动常规战争的军力。战略核导弹这样的大规模杀伤性武器并不在其中。不管怎样,世界上军事实力最强大的三个国家都不是好惹的,一旦三个国家之间爆发战争,全人类的生存都会面临巨大威胁。R图秀在分享如何用R做图的同时,还会和大家一起祈求世界和平,愿人类远离战争!
本文同步发布在简书上,点击【阅读原文】可以查看。
公众号后台回复关键字即可学习
回复 R R语言快速入门及数据挖掘
回复 Kaggle案例 Kaggle十大案例精讲(连载中)
回复 文本挖掘 手把手教你做文本挖掘
回复 可视化 R语言可视化在商务场景中的应用
回复 大数据 大数据系列免费视频教程
回复 量化投资 张丹教你如何用R语言量化投资
回复 用户画像 京东大数据,揭秘用户画像
回复 数据挖掘 常用数据挖掘算法原理解释与应用
回复 机器学习 人工智能系列之机器学习与实践
回复 爬虫 R语言爬虫实战案例分享