本节书摘来自华章计算机《数据科学:R语言实现》一书中的第2章,第2.5节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.5 使用Excel文件
Excel是另一种存储和分析数据的常用工具。当然,我们可以把Excel文件转化为CSV文件或者其他文件格式。你也可以在R中安装加载xlsx程序包,来读取和处理Excel数据。
准备工作
在本教程中,你需要给开发环境安装R,同时确保计算机可以访问互联网。
实现步骤
执行下列步骤,读取Excel文档。
1.首先,安装加载xlsx程序包:
2.访问www.data.worldbank.org/topic/economy-and-growth 找到世界经济指标Excel文件,如图6所示。
3.使用download.file从下列URL中下载世界经济指标数据:
4.使用Excel(或Open Office)查看下载的文件,如图7所示。
5.你可以使用read.xlsx2从下载的Excel文件中读取数据:
6.从读取的数据中选取国家名、国家码、指标名、指标码以及2014年度:
7.然后,你可以使用函数dim查看文件的维度:
8.最后,你可以把过滤的数据写入名为2014wbdata.xlsx的文件中:
运行原理
在本教程中,我们介绍了如何使用xlsx程序包读取和写入包含世界经济指标的Excel文件。首先,我们需要安装加载xlsx程序包。它允许用户通过R命令,使用Java POI包,读取和写入Excel文件。因此,要使用Java POI包,我们也需要同时安装rJava和xlsxjars。你可以在libraryxlsx]jarsjava下找到Java POI的.jar文件。以作者的计算机为例,它安装了Windows 7操作系统,.jar文件位于C:Program FilesRR-3.2.1libraryxlsxjarsjava路径下。
然后,我们使用函数download.file从链接 http://data.worldbank.org/topic/economy-and-growth 下载世界经济指标数据。download.file默认下载文件为ASCII编码。要下载二进制文件,我们需要设定下载模式为wb。
下载Excel文件之后,我们可以使用Excel查看。Excel文件的截图说明经济指标从第1页的第4行开始。因此,我们可以使用函数read.xlsx2从这个位置读取数据。xlsx程序包提供了两个函数来读取Excel中的数据:read.xlsx和read.xlsx2。因为函数read.xlsx2主要处理Java中的数据,因此read.xlsx2的性能要好些(特别的,read.xlsx2在处理多于100000个数值的数据集时相当快)。
当把工作单的内容都读取到R的数据框后,我们可以从R数据框中选取变量Country.Name、Country.Code、Indicator.Name、Indicator.Code和X2014,然后使用函数dim查看数据框的维度。最后,我们可以使用write.xlsx2把转换后的数据写入一个Excel文件2014wbdata.xlsx中。