《机器学习与数据科学(基于R的统计学习方法)》——2.8 读取JSON文件-阿里云开发者社区

开发者社区> 异步社区> 正文

《机器学习与数据科学(基于R的统计学习方法)》——2.8 读取JSON文件

简介:
+关注继续查看

本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,第2.8节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.8 读取JSON文件

为机器学习项目读取数据时,另一种你可能遇到的数据文件类型是JSON,也就是JavaScript Object Notation。JSON是基于文本的开源标准,为创造人类可读的数据交换而设计。它经常和流行的Ajax网络编程技术一同使用。R有两个流行的包能够连接JSON数据文件:rjson和RJSONIO。rjson没有使用R的S3或S4系统,所以它不太容易扩展。同时,rjson也不使用向量化操作,这导致它处理重要数据时速度很慢。同样的,在将JSON数据读入R时,rjson也有点慢并且不能扩展到海量数据。因此,在本节中我们会使用RJSONIO。

我们提供了一个把JSON文件读进R的数据连接案例,第一步需要获得一个URL来下载SFParkingMeters数据集的JSON版本(JSON是San Francisco Data网站提供的另一种文件类型)。大多数的工作由RJSONIO包中的fromJSON()函数来完成。这个函数能将JSON数据内容转换成R对象,以便进行更深入的分析。

下面的R代码首先将JSON URL保存在变量fileURL中。下一步,我们在fromJSON()函数中提交URL,返回数据存储在一个嵌套列表的实体中,包括两个基本的部分:meta和data。我们只需要data部分,所以我们把它存储在列表实体parkdata中。这里的窍门是知道怎样将嵌套列表拆成变量的单独值。为了做到这一点,你需要用parkdata[[1]]来看第一行的观测值,尝试识别一些数据,然后标注这些值的索引,以便后续进行查阅来构造一个数据框。我们可以使用列表处理函数sapply()将数据从列表中抽取出来。最后,我们需要构造一个新的数据框park_df,里面包含初识JSON文件的3个变量:CAP_COLOR、METER_TYPE和STREETNAME。现在,JSON数据以一种合适的数据框的形式存在,我们可以对数据进行常用的分析:

> library(RJSONIO)
> fileURL <- "https://data.sfgov.org/api/views/7egw-qt89/rows. json?accessType=DOWNLOAD"
> parkdata <- fromJSON(fileURL)[[2]]
> park_df = data.frame(
 CAP_COLOR = sapply(parkdata, function(x) x[[12]]),
 METER_TYPE = sapply(parkdata, function(x) x[[13]]),
 STREETNAME = sapply(parkdata, function(x) x[[20]])  
)
> head(park_df)
    CAP_COLOR  METER_TYPE   STREETNAME
1   Grey        SS             CHESTNUT ST
2   Green       SS             CHESTNUT ST
3   Yellow      SS             CHESTNUT ST
4   Grey        SS             COLUMBUS AVE
5   Grey        SS             COLUMBUS AVE

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文解析统计学在机器学习中的重要性
本文介绍为什么统计对于通用应用和机器学习如此重要,并大致了解各种可用的方法。
1127 0
C#解析json文件的方法
C# 解析 json   JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript语法标准的一个子集。 JSON采用完全独立于语言的文本格式,可以很容易在各种网络、平台和程序之间传输。
1321 0
《构建实时机器学习系统》一1.6 实时应用对机器学习的要求
本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第1章,第1.6节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
947 0
阿里云机器学习技术与应用
本文整理自2017云栖大会-成都峰会上阿里云高级专家刘吉哲的分享讲义。讲义主要分享了阿里云机器学习系统PAI2.0的算法、框架及其关键技术和应用举例。
1663 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
11939
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载