Seite 1 von 1
Daten mit read.xlsx einlesen
Verfasst: Fr Aug 14, 2020 5:53 pm
von patite
Hallo zusammen
Ich möchte Excel-Daten in R importieren. Alle Daten in Excel sind numerische Daten.
Die Variable "Alter" wird aber als Character importiert.
Ich habe die Umwandlung in numerische Daten durchgeführt und bekomme dann nur NAs
Code: Alles auswählen
autos <- read.xlsx(Autopreise.xlsx, colNames = TRUE)
autos$Alter <- as.numeric(autos$Alter)
Ich verstehe nicht, warum die Variable "Alter" als Character importiert wird und die anderen Variablen richtig als numerische Daten importiert werden und warum die Umwandlung nicht funktioniert.
Vielen Dank für eine Antwort.
patite
Re: Daten mit read.xlsx einlesen
Verfasst: Fr Aug 14, 2020 8:09 pm
von bigben
Ich tippe mal auf die Kommas zwischen den Ziffern anstelle von Punkten, aber ich habe keine Erfahrung mit der Funktion.
Re: Daten mit read.xlsx einlesen
Verfasst: Fr Aug 14, 2020 11:31 pm
von EDi
Probie mal dad readxl Packet. Solange die Datem in excel numerisch sind (und nicht als text),könnte das klappen.
Ansonsten brauchst du noch ein
dazwischen.
Re: Daten mit read.xlsx einlesen
Verfasst: Sa Aug 15, 2020 10:57 am
von Athomas
Die Variable "Alter" ist bereits in Excel als Text formatiert, der Fehler ist also offenbar schon beim Einlesen in Excel passiert - bevor R ins Spiel kam...
Re: Daten mit read.xlsx einlesen
Verfasst: So Aug 16, 2020 9:55 am
von student
Ich beschäftige mich häufig mit Excel-Dateien als Datenbasis. Da ich immer wieder "Merkwürdigkeiten" im Einleseprozess als Excel-Datei erlebe, speichere ich die Excel-Datei immer als csv-Datei ab und lese sie dann ein (read.csv2). Wenn es dann noch notwendig ist, editiere ich sogar vor dem Einlesen die CSV-Datei...
Re: Daten mit read.xlsx einlesen
Verfasst: Di Aug 18, 2020 3:35 pm
von patite
Vielen Dank für euren Input
Folgender Code hat funktioniert
Code: Alles auswählen
autos$Alter <- gsub(",", ".", autos$Alter) %>%
as.numeric(autos$Alter)
Re: Daten mit read.xlsx einlesen
Verfasst: Di Aug 18, 2020 10:55 pm
von EDi
Da du den Pipe %>% nutzt ist das autos$Alter hier unnötig. Macht in dem Fall nichts, kann aber woanders problematisch werden... Bitte nochmal nachschauen was der genau macht und wie er anzuwenden ist.