Seite 1 von 1

Zahlen ersetzen

Verfasst: Mo Feb 17, 2020 9:01 am
von baroso
Hallo,
ich habe ein Zahlen/Datumsproblem mit R.
Ich lese eine .txt Datei ein, in der die Spalte "date" als DDMMYY formatiert ist.
R liest die Spalte "date" als Zahl ein ("int"). Dabei gehen alle vorstehenden Nullen verloren. Also aus "010572" wird "10572".
Nach der Bearbeitung und abschließenden Auslesung der Daten soll die "0"aber wieder vorhanden sein.
Frage(n):
1. kann ich R beim Einlesen sagen, dass er diese Spalte als Datum oder auch nur als Text einlesen soll?
2. oder kann ich in der eingelesenen Spalte "date" nach 4-stelligen Zahlen suchen und denen eine "0" vorstellen (nachdem ich die ganze spalte als charakter formatiert habe)?

Danke fürs Mitdenken!!

Re: Zahlen ersetzen

Verfasst: Mo Feb 17, 2020 9:40 am
von jogo
Hallo baroso,

bei der Verwendung von read.table(), kann man den Parameter colClasses= setzen:

Code: Alles auswählen

read.table(header=TRUE, text=
"D
010572")

read.table(header=TRUE, colClasses = "character", text=
"D
010572")
Gruß, Jörg

Re: Zahlen ersetzen

Verfasst: Mo Feb 17, 2020 9:58 am
von baroso
Danke, ja so klappt es.
mit

Code: Alles auswählen

read.table("daten.txt", header=TRUE, sep="\t",na.strings="NA",dec=",", colClasses= "character")
werden alle Spalten als charakter eingelesen.

ist es auch möglich nur eine bestimmte Spalte als charakter einzulesen (daten$date)?

Gruß

Re: Zahlen ersetzen

Verfasst: Mo Feb 17, 2020 10:07 am
von jogo
baroso hat geschrieben: Mo Feb 17, 2020 9:58 am Danke, ja so klappt es.
mit

Code: Alles auswählen

read.table("daten.txt", header=TRUE, sep="\t",na.strings="NA",dec=",", colClasses= "character")
werden alle Spalten als charakter eingelesen.
Das liegt an der recycling rule
ist es auch möglich nur eine bestimmte Spalte als charakter einzulesen (daten$date)?
ja, bei colClasses= c("integer", "character") wird nur jede zweite Spalte als character eingelesen.

Bitte unbedingt den Hilfetext der Funktion read.table() lesen!

Gruß, Jörg
p.s.:
Bitte auch prüfen, ob stringsAsFactors=FALSE nützlich ist.

Re: Zahlen ersetzen

Verfasst: Mo Feb 17, 2020 10:20 am
von baroso
Danke!! :D