将数据框从 R 导出到 Microsoft Excel
R 是一个强大的数据分析和可视化工具。但不是每个人都使用 R。
我们可能需要将数据分析的结果作为 Excel 文件发送给某人,或者我们可能希望在 PowerPoint 演示文稿中显示数据。不管是什么原因,将我们的数据导出到 Excel 是一项有用的技能。
将数据框从 R 导出到 Excel 的选项
R 通常提供多种方法来执行相同的任务。
本文将学习如何使用 utils
包的 write.csv()
和 write.csv2()
函数将数据框导出到 Excel。utils
包包含在 R 的安装中并默认加载。
这是最通用的方法,因为它不需要额外的包。但它涉及两个步骤。一、将数据框导出为 CSV 文件。二、在 Excel 中打开 CSV 文件,保存为 Excel 文件。
我们还将了解三个将数据框直接导出为 Excel 文件的包。这些软件包需要由用户安装。他们可能还需要系统上存在其他软件。
使用 write.csv()
和 write.csv2()
函数将数据框导出为 CSV 文件
R 的内置功能允许我们通过下面描述的两个步骤将数据框导出到 Excel。
write.csv()
和 write.csv2()
函数创建电子表格软件可以读取的 CSV 文件。这些函数是创建纯文本文件的 write.table()
函数的便捷包装器。
CSV 代表逗号分隔值。CSV 文件是纯文本文件。数据框的每一行都成为文件中的一行。列用逗号(或分号)分隔。
当使用 write.csv()
函数导出数据框时,R 会创建一个文本文件,其中逗号用作字段(列)分隔符,句点用作小数点。
如果你想创建一个逗号作为小数点的文件,你应该使用 write.csv2()
函数。此函数使用分号作为字段分隔符,因为逗号用作小数点。
函数文档指出,这符合某些西欧语言环境中 CSV 文件的 Excel 约定。
在下面的示例中,我们将创建一个小型数据框并使用 write.csv()
函数将其导出为 CSV 文件。第一个参数是数据框的名称。
第二个参数是双引号中的文件名。第三个参数防止创建一列行号。
默认情况下,它会将文件保存在 R 的当前工作目录中。我们可以使用 getwd()
函数找到当前工作目录。
# Create two vectors.
myText = c("Unit 1", "Unit 2", "Unit 3")
myNumbers = c(55, 1.53, 0.049)
# Create the data frame using the vectors.
df = data.frame(myText, myNumbers)
# Export the data frame as a CSV file.
# It will save the file in the current working directory of R.
write.csv(df, file="myCSVFile.csv", row.names = FALSE)
使用上面最后一行代码中的 write.csv2()
函数创建一个使用逗号作为小数分隔符的 CSV 文件。
打开 CSV 文件并将其另存为 Excel 文件
要从我们的 CSV 文件创建 Excel 文件,请按照以下步骤操作。
-
在 Excel 中打开 CSV 文件。
-
保存文件。Excel 将提示将其另存为 Excel 文件。
-
以所需文件名将文件保存在所需位置。
如果 CSV 文件在 Excel 中看起来不正确,请使用纯文本编辑器打开它以验证数据是否已正确导出。如果 Excel 无法正确显示正确的数据,请尝试以下操作。
- 如果 Excel 创建的列比预期的多或少,请在打开 CSV 文件时修改分隔符选项。使用在 CSV 文件中找到的相同分隔符。
- 如果 Excel 无法正确显示小数字符,请在打开文件后尝试更改相关列的数字格式。系统区域设置也可能提供线索。
使用包将数据框从 R 导出到 Excel
几个贡献的包允许我们直接将数据框导出到 Microsoft Excel。我们将了解三个这样的包。
这些包有几个功能和选项,允许我们自定义 Excel 文件的各个方面。但是,我们将重点介绍将数据框导出为 Excel 文件的函数的基本用法。
如果这些软件包尚未安装,我们需要安装它们。
请注意,如果我们尝试加载具有相同名称函数的多个包,R 将引发错误。如果发生这种情况,我们必须在加载所需的包之前使用语法 detach(package:name_of_package)
分离我们不再需要的包。
使用 openxlsx
包将数据框从 R 导出到 Excel
openxlsx
包具有 write.xlsx()
函数来创建 Excel 文件。
在 Windows 上,openxlsx
软件包需要在计算机上安装 RTools 软件。否则,它的某些功能可能无法正常工作。
该函数的第一个参数是数据框,第二个参数是要创建的文件名。默认情况下,它将在 R 的当前工作目录中创建文件。
# Install the openxlsx package if you do not already have it.
# This is a one-time task.
install.packages("openxlsx")
# Load the openxlsx package.
library(openxlsx)
# Use the write.xlsx() function to create the Excel file.
# It will save the file to R's current working directory.
write.xlsx(df, file = "My_openxlsx_File.xlsx")
使用 xlsx
包将数据框从 R 导出到 Excel
xlsx
软件包需要安装 Java(包括 JDK)。
这个包有 write.xlsx()
函数来从数据框创建一个 Excel 文件。第一个参数是数据框。
第二个参数是要创建的文件。第三个参数防止创建一列行号。
# Install the xlsx package if you do not already have it.
# This is a one-time task.
install.packages("xlsx")
# If the openxlsx package is currently loaded, detach it.
detach(package:openxlsx)
# Load the xlsx package.
library(xlsx)
# Use the write.xlsx() function to create the Excel file.
# It will save the file to R's current working directory.
write.xlsx(df, file = "My_xlsx_File.xlsx", row.names = FALSE)
使用 writexl
包将数据框从 R 导出到 Excel
writexl
包具有 write_xlsx()
函数来创建 Excel 文件。第一个参数是数据框,第二个参数是要创建的文件路径。
如果只给出文件名,它将在 R 的当前工作目录中创建。
# Install the writexl package if you do not already have it.
# This is a one-time task.
install.packages("writexl")
# Load the writexl package.
library(writexl)
# Use the write_xlsx() function to create the Excel file.
# It will save the file to R's current working directory.
write_xlsx(df, path = "My_writexl_File.xlsx")
在 R Studio 中获取有关 R 函数的帮助
有关 R Studio 中 R 函数的帮助,请单击 帮助 > 搜索 R 帮助
,然后在搜索框中键入函数名称(不带括号)。
或者,在 R 控制台的命令提示符处键入一个问号,后跟函数名称。例如,?write.table
。
有关任何包的更详细文档,请在 CRAN 上搜索包。
结论
R 写入 CSV 文件的默认功能足以将数据框导出到 Microsoft Excel,但它需要两个步骤。其他包允许我们一步导出 Excel 文件,但首先需要安装。
其中一些还依赖于其他软件。鉴于这些不同的选项,我们可以选择最适合我们的方法。
相关文章
R 中具有多个条件的函数向量化
发布时间:2023/03/21 浏览次数:64 分类:编程语言
-
一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更
在 R 中读取 xlsx 文件
发布时间:2023/03/21 浏览次数:66 分类:编程语言
-
在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。