R - Excel 文件



Microsoft Excel 是使用最广泛的电子表格程序,它以 .xls 或 .xlsx 格式存储数据。

R 可以使用一些特定于 Excel 的包直接从这些文件读取。很少有这样的包是 - XLConnect、xlsx、gdata 等。我们将使用 xlsx 包。

R 还可以使用此包写入 excel 文件。

安装 xlsx 软件包

您可以在 R 控制台中使用以下命令来安装“xlsx”包。它可能会要求安装此软件包所依赖的一些附加软件包。按照带有所需软件包名称的相同命令安装其他软件包。

install.packages("xlsx")

验证并加载 “xlsx” 包

使用以下命令验证并加载 “xlsx” 包。


# 验证软件包是否已安装。
any(grepl("xlsx",installed.packages()))

# 将库加载到R工作区。
library("xlsx")

当脚本运行时,我们得到以下输出。

[1] TRUE
Loading required package: rJava
Loading required package: methods
Loading required package: xlsxjars

输入为 xlsx 文件

打开 Microsoft Excel。将以下数据复制并粘贴到名为 sheet1 的工作表中。

id    name      salary    start_date    dept
1    Rick        623.3      1/1/2012       IT
2    Dan       515.2     9/23/2013    Operations
3    Michelle  611         11/15/2014    IT
4    Ryan        729         5/11/2014       HR
5    Gary        43.25     3/27/2015      Finance
6    Nina        578       5/21/2013       IT
7    Simon        632.8      7/30/2013       Operations
8    Guru        722.5      6/17/2014       Finance

此外,将以下数据复制并粘贴到另一个工作表中,并将此工作表重命名为“city”。

name        city
Rick        Seattle
Dan       Tampa
Michelle  Chicago
Ryan        Seattle
Gary        Houston
Nina        Boston
Simon        Mumbai
Guru        Dallas

将 Excel 文件另存为 “input.xlsx”。您应该将其保存在 R 工作区的当前工作目录中。

读取 Excel 文件

使用 read.xlsx() 函数读取 input.xlsx,如下所示。结果将作为数据框存储在 R 环境中。


# 读取input.xlsx文件中的第一个工作表。
data <- read.xlsx("input.xlsx", sheetIndex = 1)
print(data)

当我们执行上述代码时,它会产生以下结果——

id,   name,     salary,   start_date,   dept
1      1    Rick      623.30    2012-01-01    IT
2      2    Dan       515.20    2013-09-23    Operations
3      3    Michelle  611.00    2014-11-15    IT
4      4    Ryan      729.00    2014-05-11    HR
5     NA    Gary      843.25    2015-03-27    Finance
6      6    Nina      578.00    2013-05-21    IT
7      7    Simon     632.80    2013-07-30    Operations
8      8    Guru      722.50    2014-06-17    Finance