Zahlen ersetzen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
baroso
Beiträge: 12
Registriert: Di Mär 06, 2018 11:11 am

Zahlen ersetzen

Beitrag 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!!
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zahlen ersetzen

Beitrag 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
baroso
Beiträge: 12
Registriert: Di Mär 06, 2018 11:11 am

Re: Zahlen ersetzen

Beitrag 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ß
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zahlen ersetzen

Beitrag 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.
baroso
Beiträge: 12
Registriert: Di Mär 06, 2018 11:11 am

Re: Zahlen ersetzen

Beitrag von baroso »

Danke!! :D
Antworten