迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 R 中读取 xlsx 文件

作者:迹忆客 最近更新:2023/03/21 浏览次数:

从 Excel 电子表格中获取数据并将其导入 R 中,最常见的方法是使用 Excel 将数据保存为更传统的格式,如 .csv。但如果需要反复导入 xlsx 文件,则首选更快捷的方案,比如使用一个包直接将 Excel 文件导入 R 中。

R 中很多包都有读取 xls/xlsx 文件的功能。其中一个就是 readxl。这个包的外部依赖性比其他包少,因此几乎可以轻松安装在任何操作系统中。将它添加到你的 R 环境中的最直接的方法是用下面的命令安装整个 tidyverse 库。

install.packages("tidyverse")

但由于它不是一个核心的 tidyverse 库,它仍然需要用 library(readxl) 命令明确加载。然后你就可以用 read_excel 函数导入一个 Excel 文件,像这样。

MySheet <- read_excel("ExcelFile.xlsx")

在前面的例子中,我们将一个名为 ExcelFile.xlsx 的电子表格内容导入到一个名为 MySheet 的 Dataframe 中。

让用户指定要导入的文件

如果事先不知道 Excel 文件的位置,想让用户选择要读取的文件,可以使用 file.choose() 代替明确指定文件路径。

MySheet <- read_excel(file.choose())

read_excel() 函数还有其他参数,可以指定一个特定的表来导入,或者指定一个代表 NAs 的值来代替空白单元格。在本例中,我们导入一个名为 data 的工作表,并指定内容为 NA 的单元格将被解释为 NAs

MySheet <- read_excel("ExcelFile.xlsx", sheet = "data", na = "NA")

在 R 中使用 openxlsx 库读取 xlsx 文件

另一个可以用来将 Excel 文件读到 R 中的软件包是 openxlsx。这个包简化了 xlsx 文件的读写,和 readxl 一样,不依赖 Java、Perl 或其他外部库。使用 Rcppopenxlsx 即使对巨大的文件也能提供快速的读写时间。这个库对 xlsx 文件工作得很好,但它不支持旧的 xls 文件。

Openxlsx 提供了 read.xlsx 函数,用从导入文件中读取的数据创建一个 Dataframe。它有很多选项,可以指定要导入的区域是否包含行名和列名,要导入的工作表的名称或编号,要导入的行和列,等等。

在下面的例子中,我们安装包 openxlsx 并打开库。然后,我们使用 read.xlsx 中的选项,从名为 Data.xlsx 的文件的第 1 张表中导入第 2、4、6 行和第 5 至 7 列,并将这些数据导入。

Excel 样本

之后,我们将生成的数据框的内容打印到控制台。由于我们不从文件中读取列名,我们将参数 colNames 设置为 False。R 会自动为导入的 Dataframe 中的列分配一个默认的名称序列:X1X2X3。注意,我们可以通过指定向量来指定要导入的行和列。

install.packages("openxlsx")
library("openxlsx")
MyData <- read.xlsx(xlsxFile="c:/Tmp/Data.xlsx", sheet = 1, rows = c(2, 4, 6), cols = 5:7, colNames = FALSE)
MyData

输出:

  X1 X2 X3
1 34 12 17
2 15 25 66
3 32 45 56

更多信息请查阅官方 openxlsx 文档

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

R 中具有多个条件的函数向量化

发布时间:2023/03/21 浏览次数:64 分类:编程语言

一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更

清理 R 的环境

发布时间:2023/03/21 浏览次数:178 分类:编程语言

在本教程中,你将学习如何在 R 中编写一个函数,在不需要重新启动 R 的情况下清除环境。

在 R 中注释掉多行

发布时间:2023/03/21 浏览次数:63 分类:编程语言

在本文中,你将学习如何在 R 中注释出多行,而不必在每一行的开头手动写一个#字符来注释。

在 R 中清除内存

发布时间:2023/03/21 浏览次数:197 分类:编程语言

在本教程中,你将学习如何清除 R 系统占用的内存,而不必重新启动它或重新启动它运行的计算机。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便