本节书摘来自华章计算机《数据科学:R语言实现》一书中的第2章,第2.2节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.2 下载公开数据
在进行数据分析之前,一项基础工作是收集高质量的有意义的数据。一个重要的数据来源是公开数据集。它们通常经过挑选和整理,并允许公众自由使用。大多数公开数据以文本格式或者API的形式发布在线上。这里我们会介绍如何使用函数download.file下载文本格式的公开数据文件。
准备工作
在本教程中,你需要给开发环境安装R,同时确保计算机可以访问互联网。
实现步骤
执行下列步骤,从互联网上下载公开数据。
1.访问http://finance.yahoo.com/q/hp?s=%5EGSPC+Historical+Prices 查看雅虎财经下的标普500历史价格,如图1所示。
2.向下滚动到页面底部,右击并复制Download to Spreadsheet中的链接(链接应该类似于http://real-chart.finance.yahoo.com/table.csv?s=%5EGSPC&d=6&e=3&f=2015&g=d&a=0&b=3&c=1950&ignore=.csv ),如图2所示。
3.使用函数download.file下载文件:
4.我们可以使用函数getwd确定当前目录,然后使用list.files查找下载的文件:
运行原理
在本教程中,我们展示了如何使用download.file下载文件。首先,我们浏览雅虎财经,查看标普500历史价格。在页面底部,我发现了带有前缀 http:// 的URL链接。http://URL 前缀代表了超文本传输协议(Hypertext Transfer Protocol,HTTP),其支持互联网上的信息发布和接收。因此,我们可以使用链接地址,通过download.file请求远程服务器。最后我们可以生成链接请求,并把远程文件保存在本地目录中。
更多技能
除了使用函数download.file下载文件,我们也可以使用RCurl下载带有HTTP URL或者HTTPS URL前缀的文件。
1.首先,访问https://nycopendata.socrata.com/Social-Services/NYC-Wi-Fi-Hotspot-Locations/a9we-mtpn ?,查看纽约市公开数据中的Wi-Fi热点位置文件,如图3所示。
2.接着,单击Export找到CSV下载链接,如图4所示。
3.然后安装加载RCurl程序包:
4.最后,使用函数getURL下载HTTPS URL前缀文件: