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

Code: Alles auswählen

Autos$Alter <- gsub(',', '.', Autos$Alter)
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

Code: Alles auswählen

as.numeric(autos$Alter)
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.