许多研究人员对直接从网站获取新数据感兴趣。但是从网站上收集大量数据可能是不切实际的。手动收集数据时,很容易出现人为错误。自动收集数据时,可能会违反网站的服务条款。
因此,研究人员通常依赖于一种称为API的工具,它代表应用程序编程接口。Web API提供了一种根据规则在网站和用户之间进行通信的方式。特别是,它们允许用户通过从特定网站下的数据库请求数据来快速获得定义良好的数据类型。(这不是唯一的API。例如,智能定位器应用程序经常使用API在您的设备和应用程序的数据库之间来回传输数据,但在本文中,我们将重点关注从网站向用户提供数据的API。)
许多大公司和政府机构已经创建了公共API。这些组织的数据可以很容易地访问,以鼓励开发人员使用他们的平台。在皮尤研究中心,作者经常使用API收集信息进行研究。常见的是我们在社交媒体中的机器人,谷歌搜索**,脸书的科学页面和公众对政府政策的评论(都使用API)。
API如何提供数据
API提供了各种形式的数据,但JSON是最流行的一种。JSON是构建数据的一种有用的文件格式,因为它包含了更多与制表符或逗号分隔文件相关的层次结构(比如。tsv和。csv文件)和关于数据集的元信息。根据您用于数据分析的编程语言,一些库可以使JSON数据操作变得直观。比如在R统计语言中,可以使用jsonlite库将API中的数据转换成大家熟悉的R对象和类。
API可以在不同的编程语言中使用
为了有效地与用不同语言(如Java、Python、R等)编写的各种计算机程序上的API进行交互。),研究人员依靠API & # 8221封装器”。这些工具(存在于大多数流行的API中)允许研究人员在使用他们自己选择的编程语言时直接从API请求数据。下面,我们以世界银行的API为例,用R来访问数据。
示例:如何与世界银行的API进行交互
世界银行API为研究人员提供了数百个关于世界各国健康、财富和文化的变量。为了展示如何使用这个API,我们可以编写一个脚本来获取一些变量并绘制它们。在这种情况下,我们将使用世界银行提供的识别码来搜索变量,然后将变量提取到R的内存中。
下面的代码使用了WDI包,这是一个包含世界银行API包的R包。(如上所述,包装器是一个函数或一组函数,用于执行对API的调用,并将结果转换成比API本身更有用的东西。)要执行这段代码,必须先安装WDI软件包和devtools、ggplot2、ggani***te、data.table和dplyr。您可以使用以下命令为R安装这些函数:
我们还将为动画安装ggani***te附加包:
既然已经安装了这些包,让我们将它们加载到工作内存中:
WDI软件包提供了一种便捷的方式来搜索世界银行API中可能值得研究的变量。下面,我们在”字符串”之后,该字段指定要搜索的单词和查找它的位置”姓名”字段。这样,我们可以看到,所有与道路基础设施、免疫率和任何其他变量有关的变量都是按人均计算的。
返回搜索变量及其相应代码的列表。现在我们知道了感兴趣的变量的代码,我们可以从API调用数据。我们用WDI函数来做这件事。在这个函数调用中,我们提供了参数、变量代码、第一年的数据、最后一年的数据和可选的”extra & # 8221字段集。”extra & # 8221该字段是国家元数据-尝试关闭此选项,看看会发生什么。
数据以data.table的形式加载到内存中,data . table是一个矩形的数据框,可以方便地进行交互和分析。有一个问题是变量名不好解释,我们就转换成更直观的东西吧。我们使用dplyr软件包来实现这一点,它提供了一套处理数据的工具。它有一个方便和可读的语法。我们将使用”重命名”重命名变量的命令。
接下来,让我们删除缺失的观察值,以便绘制数据。当然,你要仔细考虑遗漏的国家和原因。
我们可以创建一个特定年份的收入和免疫率之间关系的可视化表示。我们将为每个国家绘制一个点,按照该国人口的对数大小来确定。我们也会绘制一般关系的黄线。我们可以创建一个特定年份收入和免疫率之间关系的可视化表示。我们将为每个国家画一个点,并根据其人口的对数大小来确定。我们也会画出一般关系的黄线。
下图是使用ggplot2的静态图:
最后,我们将创建一个在一段时间内具有相同关系的动画。为此,请首先安装I***geMagick。 然后创建一个包含数据中所有年份的图表:最后,我们将创建一段时间内具有相同关系的动画。为此,请首先安装I***geMagick。然后创建一个包含所有年份数据的图表:
本文来自半邊陽光投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/615770.html