2017-02-21 4 views
1

Probleme beim Lesen eines europäischen Datumsformats von date.month.year in R mit readr, wobei Datum und Monat keine führenden Nullen haben. Zum BeispielLesen von Datumsangaben mit einem Punkt als Trennzeichen

Datei:

1 date_of_birth 
2 1.2.2016 

Versuchte (unter anderem):

file <- read_csv2("file.csv",col_types = cols(
    date_of_birth=col_date("%d.%m.%Y") 
)) 

Ergebnisse in DATE_OF_BIRTH: num 122016

Jede Hilfe

+0

Sie würden profitieren wahrscheinlich von Ihrem eigenen Datumsformat definieren, bevor read.csv2 aufrufen. Siehe diesen Beitrag: [Geben Sie ein benutzerdefiniertes Datumsformat für das Argument colClasses in read.table/read.csv an] (http://stackoverflow.com/questions/13022299/specify-custom-date-format-for-colclasses-argument-in- Lese-Tabelle-lesen-CSV). –

Antwort

0

geschätzt würde Ist das, was Sie sind danach?

> as.Date(gsub("\\.","\\/","1.2.2016"),"%d/%m/%Y") 

[1] "2016.02.01"

+3

'as.Date (" 1.2.2016 ","% d.% M.% Y ") sollte auch funktionieren. – count

+0

Danke. Dies würde funktionieren, wenn die Datumsvariable in R bereits in diesem Format wäre. Beim Lesen einer CSV-Datei mit readr :: read_csv wird die Variable jedoch in eine Zahl konvertiert und die Perioden werden entfernt (z. B. "122016"). Da es keine führenden Nullen gibt, ist es schwierig, sie in ein Datum zu konvertieren. Also müssen Sie read_csv anweisen, die Variable in der CSV-Datei als Datum zu erkennen, was ich nicht kann. – kporkka

+0

versuchen Sie data.table :: fread und dann colClass = 'character' und gehen Sie von dort –

Verwandte Themen