显示标签为“公开数据”的博文。显示所有博文
显示标签为“公开数据”的博文。显示所有博文

星期六, 四月 04, 2015

中国政治坐标系数据的一点分析

清明节有点空闲,凑巧又看到一份很有趣的数据,下文是对这份数据的一点点分析结果。

1、数据整理
整体数据并不大,读到R里面首先做了点处理。
- 将选项("强烈同意","同意","反对","强烈反对") 映射为分值(2,1,-1,-2)
- 对出生年份进行转换,计算出在2015年的年龄并分为10个年龄组(0,18,22,25,30,35,40,50,60,70,120)
- 怀疑70岁以上的人可能是乱写的,删除之。
- 将其它字符型也转为数字编号
- 将18岁以下而填写过高学历和过高收入的数据删除。
- 删除有缺失的数据。

2、有趣的发现
这个数据可以做的分析点有很多,我只做了其中一小部分,观察各种题目的相关性如何。因为已经是离散数据了,所以使用了标准化后的互信息来计算变量之间的相关性。这个数字应该是在0-1之间,发现大部分的回答中这个值并不高,多在0.1以下。不过均通过了联列表检验,说明还是存在相关性的。

- 在50个问题中,哪两个问题的回答之间最相关?
发现第3题和第6题的回答相关性最高(0.13)。
[1] "发生重大社会安全事件时.即使认为信息公开会导致骚乱的风险.政府仍应该开放信息传播."
[2] "由高校自主考试招生比全国统一考试招生更好."

- 哪个问题和学历的相关性最高?
第41题相关性较高,得到相关性为0.009
[1] "两个成年人之间自愿的性行为是其自由.无论其婚姻关系为何."

- 哪个问题和年龄的相关性最高?
第35题相关性较高,为0.01。而且这个题目和收入的相关性也是最高的。
[1] "那些关系到国家安全.以及其他重要国计民生的领域.必须全部由国有企业掌控."

- 哪个问题和性别的相关性最高?
第30题相关性较高,为0.077。让人比较惊奇的是,女性回答不给予补贴的比例比男性高。
[1] "改善低收入者生活的首要手段是国家给予财政补贴和扶持."

- 哪些问题和收入有相关性?
这次使用了GBM模型,计算了问题回答对收入的重要性。发现如下三个问题是最重要的。(除了年龄、学历、性别因素之外)
[1] "条件允许的话应该武力统一台湾." (负相关)
[2] "两个成年人之间自愿的性行为是其自由.无论其婚姻关系为何."(正相关)
[3] "国家领导人及开国领袖的形象可以作为文艺作品的丑化对象." (正相关)

3、其它
最后还做了一个总体的分布图。根据出题者的思路,1-20题为政治方面,21-40题为经济方面,41-50题为文化方面,可以计算每个人在这三个方面的平均得分。我尝试将这三个维度进行散点图绘制。基本上是一个略有点扁的圆形。大部分人在中间,少数人在边缘。

当然后续有兴趣的同学也可以继续搞点聚类之类的事。或者是按照不同属性(收入、时间)来看看圆形的变化。以上全部参考代码在此

这份数据除了能了解国人整体的政治观点之外,还有两个奇特的用法。一个是用坐标距离来大致判断两个人是否可以做朋友。还可以用于大致判断某个人未来的收入。所以女性同胞们,千万不要去找那些要武力统一台湾的当自己男朋友。

星期六, 八月 04, 2012

中国的环境状况在全球的位置

由美国耶鲁大学和哥伦比亚大学联合推出的“年度全球环境绩效指数”(EPI)排名在2012年年初放出。此排名旨在评估一个国家的环境政策,环境卫生与生态系统之平衡的状态,涵盖10项领域共22项环境指标,涉及领域包括气候变化、农业、渔业、森林、水源、空气污染及环境负担等。详细报告和数据都可以在网站主页找到。本文就使用这个数据集来观察中国的环境状况在全球的位置。
上面的小提琴图即是22项指标的分布,叠加的红色圆点表示了中国得分位置。这些指标已经被研究人员进行了转换,所有的指标均是得分越高越好。从这些得分点可以看出,中国在森林保护(FORGROINV)和生物多样性(PACOV)方面做得还不错,CO2排放(CO2GDP)和饮用水(WATSUPINV)等方面做得一般,在PM2.5和室内空气(INDOOR)等方面处于垫底情况。更多的指标说明请参看报告主页。其中的EPI是环境绩效评价的综合得分。

星期二, 七月 31, 2012

用igraph包探索世界航空网络

本文使用的数据仍然是上篇博文中用到的世界航班数据,不过本例不再仅限于中国国内航班。如果用社交网络的角度来观察数据,一个机场可以看作是一个人,而机场之间的来往航班可以看作是人与人之间的某种联系。整体世界的航线可以看作是一个社交网络。那么用R语言的igraph包来简单探索一下这个社交网络,看能不能得到什么发现。现在星图真得很热门,所以本文最后也会搞一个山寨出来。

星期一, 七月 23, 2012

来玩一玩全球500强排行榜数据

金融时报在7月20日公布了全球500强排行榜根据这个数据尝试回答下面的一些问题。

1. 哪个行业的上榜公司最多?
看得出来,银行、石油、制药是前三强。


星期二, 五月 01, 2012

用RJSONIO包调用天气数据


JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于阅读和编写,同时也易于机器解析和生成。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。目前有许多API服务提供了JSON的数据格式。

如果我们要在R语言中处理json数据,可以采用的扩展包有rjson和rjsonio两个包。从本人感觉来看,rjsonio包要更为友好一些,读取之后可以直接转为简单的list格式,方便调用数据。rjson的话也可以转为list,但其中层次关系复杂,不大方便处理。下面我们用一个例子来看看如何用RJSONIO包调用数据。我们希望编一个函数从wunderground的API调用本地城市的天气预报。其基本步骤如下:
  • 若用户未输入城市名,则根据本机IP地址来返回当地天气;
  • 若用户输入了城市名,则先用google API得到城市经纬度;
  • 再用经纬度作查询参数,来返回该城市天气。

星期三, 四月 18, 2012

30个免费数据资源网站


人们都喜欢听故事而不是看数字和公式,数据可视化可能是讲故事的终级神器。但这里有个前提条件,你首先得拥有数据。获取可靠的数据涉及到多个步骤,找到数据、整理清洁数据、转换为合适的格式等等。数据准备往往是数据分析工作中非常让人头疼的方面。随着全世界对数据资源的重视,现在有很多新的公开数据源可供研究者使用。下面就是visual.ly归纳的三十个免费的数据资源网站。本文进行了翻译和补充。


1 政府数据
  • Data.gov:这是美国政府收集的数据资源。声称有多达40万个数据集,包括了原始数据和地理空间格式数据。使用这些数据集需要注意的是:你要进行必要的清理工作,因为许多数据是字符型的或是有缺失值。
  • Socrata它是探索政府相数据的另一个好地方。Socrata的一个了不起的地方是,他们有不错的可视化工具,使研究数据更为容易。
  • 一些城市都有自己的数据门户网站设置,可供访问者浏览城市的相关数据。例如,在旧金山数据网站,你可以获得很多数据,从犯罪统计到城市的停车位。
  • 联合国有关网站,例如世界卫生组织提供了丰富的数据资源,从死亡率到世界饥饿统计数字。
  • 美国人口普查局也有相当多的生活数据,例如收入、种族、教育、人口和商业信息。

星期六, 十二月 17, 2011

新书推荐:《Visualize This》

这是一个数据的时代,各种数据铺天盖地涌现出来,如何从中获取有用的信息?人类的大脑喜欢图形,因此将数据可视化或许是种方法。数据可视化是美学、数据分析和专业知识的结合,能以清晰简明而优美的方式讲述数据背后的故事。

如果你对数据可视化感兴趣,那么向你推荐Visualize This这本书。作者Nathan Yau是加州大学洛杉矶分校统计学博士生。同是也是flowingdata.com的创建者。

星期五, 十一月 11, 2011

在R中使用DataMarket的公开数据源

在如今的商业世界中,各种数据和统计数字是非常重要的决策依据,但良好的数据通常很难获得。因为数据来源分散而且格式不一,世界各地的分析人员往往花费了无数的时间进行数据检索、复制、粘贴和清理。

DataMarket.com是2010年推出的一个数据门户网站,可以一站式访问各种公共和私营部门组织的统计数据和结构化数据。这使得用户非常方便的查找、比较、可视化和下载各类机构的公开数据,如联合国,世界银行,欧盟统计局。时间序列数据还可以与新闻事件相关联,并可以用任何选定的数据格式使用到任何地方。

我们在之前的博文中曾提到过DataMarket的数据源,本文简单介绍一下如何更方便的在R语言中调用DataMarket数据。

星期五, 十月 14, 2011

互联网上的公开数据源

Sherlock Holmes有句名言:"Data! Data! Data! I can't make bricks without clay."同样,只有分析工具而没有数据,就如同手中握着锤子却找不到钉子。下面的公开数据源是引自该博文


Economics

Finance

星期六, 八月 27, 2011

R语言中如何读取公开数据库

世界上有很多公开数据库(open data)以供研究者使用。在R语言中也有不少程序包可以直接从这些数据源中读取数据。在之前的博文里,已经介绍quantmod和WDI。前者可以从雅虎和美联储读取数据,后者可以从世界银行读取数据。今天再介绍一个拥有数万个数据的网站,就是http://datamarket.com。这里可以看到网站介绍

首先我们在网站上注册一个免费帐号,然后在R中安装如下的package
install.packages("rdatamarket")
library(rdatamarket)

在网站上找到一个你感觉有趣的时序数据,例如这里的是美国失业数据,将其IP地址存入变量

星期二, 七月 19, 2011

在R语言中实现google-motion-charts

本例希望比较20国集团过去若干年的发展轨迹,用谷歌提供的动态视图API在R中进行绘图。我们从世界银行数据库中选取三个变量,分别反映GDP,CO2排放和期望寿命在2001到2007年之间变化。

首先安装必要的程序包,然后用WDI命令从世界银行数据库中加载数据。
install.packages("googleVis")
library(googleVis)
library(WDI)
DF <- WDI(country=c("CN","RU","BR","ZA","IN",'DE','AU','CA','FR','IT','JP','MX','GB','US','ID','AR','KR','SA','TR'), indicator=c("NY.GDP.MKTP.CD", 'SP.DYN.LE00.IN', 'EN.ATM.CO2E.KT'), start=2000, end=2010
M <- gvisMotionChart(DF, idvar="country", timevar="year")

星期日, 四月 24, 2011

R语言中如何调用世界银行数据来比较金砖五国的GDP

将数据进行可视化是探索分析的首要步骤。R语言中有两大高级绘图扩展包,即是lattice与ggplot2。它们各自都有很强的绘图能力。不过只有工具是不够的,巧妇难为无米之炊,你还得有数据。World Bank Data是世界银行组织构建的一个开放数据库,其中包括了世界各国关于经济、环境、人口等信息。数据获取的一种方法是从其网站上下载数据再导入R软件,另一种是利用WDI扩展包,直接读取想要的数据。

下面我们用WDI包的WDI函数,将中国、俄罗斯、南非、印度、巴西这五国的GDP数据载入内存,选取的时间为1990-2009年,在选择国家时需使用ISO-2标准的国家代码,数据指标是世界银行的特定编码,你可以通过WDIsearch("gdp")命令来得到所有关于GDP的编码。