2017-02-21 99 views
1

使用readr在日期和月份中没有前导零的情况下使用readr阅读R中date.month.year的欧洲日期格式时遇到问题。 例如阅读日期与作为分隔符的时间段

文件:

1 date_of_birth 
2 1.2.2016 

尝试(其中包括):

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

结果 DATE_OF_BIRTH:NUM 122016

任何帮助,将不胜感激

+0

你可能会从调用read.csv2之前定义自己的日期格式中受益。看到这篇文章:[在read.table/read.csv中为colClasses参数指定自定义日期格式](http://stackoverflow.com/questions/13022299/specify-custom-date-format-for-colclasses-argument-in-读表读CSV)。 –

回答

0

这就是你'之后?

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

[1] “2016年2月1日”

+3

'as.Date(“1.2.2016”,“%d。%m。%Y”)'也应该有效。 – count

+0

谢谢。当R中的日期变量已经是这种格式时,这将起作用。但是,当使用readr :: read_csv读取一个csv文件时,该变量将被转换为一个数字并且期间被剥离(例如“122016”)。由于没有前导零,因此很难转换为日期。因此,需要指示read_csv将csv文件中的变量识别为日期,这是我无法做到的。 – kporkka

+0

尝试data.table :: fread,然后colClass ='字符',并从那里去 –