R数据可视化手册(第2版)
上QQ阅读APP看书,第一时间看更新

1.5 从Excel文件中加载数据

问题

如何从Excel文件中加载数据?

方法

readxl包中的read_excel()函数可以用于读取.xls和.xlsx等Excel文件。下面的代码将会读取Excel中的第一个工作表:

# 只需要安装一次
install.packages("readxl")

library(readxl)
data <- read_excel("datafile.xlsx", 1)

讨论

使用read_excel()函数,既可以通过为sheet指定序数也可以通过为sheet指定名字从其他工作表中加载数据:

data <- read_excel("datafile.xls", sheet = 2)

data <- read_excel("datafile.xls", sheet = "Revenues")

read_excel()使用工作表的第一行作为列名。如果不想以第一行为列名,可以设置参数col_names = FALSE。相应地,各列会被命名为X1X2等。

在默认情况下,read_excel()会自行判断每一列的数据类型。假如我们想要规定每一列的类型,可以使用col_types参数。我们也可以通过将某些列的类型设置为"blank"来丢弃它们。

# 去除第一列,并且指定之后3列的类型
data <- read_excel("datafile.xls",
                   col_types = c("blank", "text", "date", "numeric"))

另见

输入?read_excel来查看关于文件读取的更多选项。

还有一些其他包可以用于读取Excel文件。gdata包中有一个函数read.xls()能够读取.xls文件,而xlsx包中的函数read.xlsx()则可以读取.xlsx文件。要使用这些包需要先在计算机上安装其他软件:read.xls()需要安装Java,而read.xlsx()需要安装Perl。