如何在R中设置Date的格式

时间:2015-07-29 10:42:29

标签: regex r csv

接受R中所有类型数据格式的通用代码。

我在正确获取日期时遇到问题。我的日期数据集采用dd-mm-yy格式,存储在CSV文件中。当我尝试运行以下程序时,输出错误。

df$date <- as.Date(as.POSIXct(df$date,format='%d %m %Y'))

这是我的输出:

而不是在输出屏幕中显示此内容

18-10-2000 

它显示:

[1] "0018-10-20" 

另外,您能解释一下我如何让我的代码接受存储在CSV文件中的所有类型的数据格式,例如:

DD-MM-YY
MM-DD-YY
Month_Name DD YY
Month_Name YY DD
DD Month_Name YY
YY Month_Name DD

and other formats..

2 个答案:

答案 0 :(得分:0)

你可以试试这个

x = "18-10-2000"
format(as.Date(x,format='%d-%m-%Y'), format='%d-%m-%Y')
y = "18-10-15" # means "dd-mm-yy"
format(as.Date(y,format='%d-%m-%y'), format='%d-%m-%y')

您还可以查看?strptime以获取其他格式的列表。

答案 1 :(得分:0)

你可以使用lubridate:

lubridate::dmy(df$data)

或在基础R as.Date()

as.Date(f$LASTMODIFIEDDATE,format='%d-%m-%Y')

至于你的其他日期格式,我会说检查lubridate。命令是灵活的(ymd,dmy等)。但如果你的日期列包含你提到的所有格式,你将遇到问题,单个函数将无济于事。

也许具有良好正则表达式知识的人可以帮助您将列格式化为一种日期格式。