Lesen von xlsx-Dateien in R
- Lassen Sie den Benutzer die zu importierende Datei angeben
-
Verwendung von die Bibliothek
openxlsx
zum Lesen von xlsx-Dateien in R
Die gebräuchlichste Art, Daten aus einer Excel-Tabelle zu erhalten und in R zu importieren, besteht darin, die Daten in ein konventionelleres Format, wie .csv
, zu speichern. Wenn Sie jedoch wiederholt xlsx
-Dateien importieren müssen, ist eine schnellere Option, wie die Verwendung eines Pakets zum direkten Importieren von Excel-Dateien in R, vorzuziehen.
Viele Pakete in R haben die Fähigkeit, xls
/xlsx
-Dateien zu lesen. Eines davon ist readxl
. Dieses Paket hat weniger externe Abhängigkeiten als andere Pakete, was es einfach macht, es in fast jedem Betriebssystem zu installieren. Der einfachste Weg, es zu Ihrer R-Umgebung hinzuzufügen, ist, die gesamte tidyverse
-Bibliothek mit dem folgenden Befehl zu installieren:
install.packages("tidyverse")
Da es sich aber nicht um eine Kernbibliothek von tidyverse
handelt, muss sie noch explizit mit dem Befehl library(readxl)
geladen werden. Dann können Sie eine Excel-Datei mit der Funktion read_excel
importieren, etwa so:
MySheet <- read_excel("ExcelFile.xlsx")
Im vorherigen Beispiel importieren wir den Inhalt einer Tabellenkalkulation namens ExcelFile.xlsx
in einen DataFrame namens MySheet
.
Lassen Sie den Benutzer die zu importierende Datei angeben
Wenn Sie den Speicherort der Excel-Datei nicht im Voraus kennen und den Benutzer die zu lesende Datei auswählen lassen wollen, können Sie file.choose()
verwenden, anstatt den Dateipfad explizit anzugeben:
MySheet <- read_excel(file.choose())
Die Funktion read_excel()
hat weitere Parameter, um ein bestimmtes Blatt für den Import anzugeben oder einen Wert zu spezifizieren, der NAs
anstelle von leeren Zellen darstellt. In diesem Beispiel importieren wir ein Blatt namens data
und geben an, dass Zellen mit dem Inhalt NA
als NAs
interpretiert werden sollen:
MySheet <- read_excel("ExcelFile.xlsx", sheet = "data", na = "NA")
Verwendung von die Bibliothek openxlsx
zum Lesen von xlsx-Dateien in R
Ein weiteres Paket, das Sie verwenden können, um Excel-Dateien in R zu lesen, ist openxlsx
. Dieses Paket vereinfacht das Lesen und Schreiben von xlsx-Dateien und ist, wie readxl
, nicht auf Java, Perl oder andere externe Bibliotheken angewiesen. Unter Verwendung von Rcpp
bietet openxlsx
schnelle Lese-/Schreibzeiten auch für große Dateien. Diese Bibliothek funktioniert gut mit xlsx-Dateien, aber sie unterstützt keine älteren xls-Dateien.
Openxlsx
bietet die Funktion read.xlsx
, die einen DataFrame mit den aus der importierten Datei gelesenen Daten erstellt. Sie hat viele Optionen, um anzugeben, ob der zu importierende Bereich Zeilen- und Spaltennamen enthält, den Namen oder die Nummer des zu importierenden Arbeitsblatts, die zu importierenden Zeilen und Spalten, neben vielen anderen.
Im folgenden Beispiel installieren wir das Paket openxlsx
und öffnen die Bibliothek. Dann verwenden wir die Optionen in read.xlsx
, um die Zeilen 2, 4 und 6 sowie die Spalten 5 bis 7 aus Blatt 1 einer Datei namens Data.xlsx mit diesen Daten zu importieren:
Danach geben wir den Inhalt des resultierenden DataFrame auf der Konsole aus. Da wir die Spaltennamen nicht aus der Datei lesen, setzen wir den Parameter colNames
auf False
. R weist den Spalten im importierten Daten-Frame automatisch eine Standardfolge von Namen zu: X1
, X2
, X3
. Beachten Sie, dass wir angeben können, welche Zeilen und Spalten importiert werden sollen, indem wir sie mit Vektoren spezifizieren:
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
Ausgabe:
X1 X2 X3
1 34 12 17
2 15 25 66
3 32 45 56
Weitere Informationen finden Sie in der offiziellen openxlsx-Dokumentation.