將資料框從 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 檔案,但首先需要安裝。
其中一些還依賴於其他軟體。鑑於這些不同的選項,我們可以選擇最適合我們的方法。