如何在R中将字符转换为日期格式

时间:2016-08-21 04:57:21

标签: r date

我有一个csv文件,其日期格式如下。

8/13/2016
8/13/2016
8/13/2016
2016-08-13T08:26:04Z
2016-08-13T14:30:23Z
8/13/2016
8/13/2016

当我将其导入R时,它将其作为一个角色。我想将其转换为日期格式,但当我将其转换为日期格式时,它需要所有NA值

as.Date(df$create_date,format="%m%d%y")

CSV中的日期字段具有记录日期的不同格式。如何在R

中将其转换为日期格式

1 个答案:

答案 0 :(得分:3)

基本R选项(假设OP&#39; create_date&#39;列中只有两种格式)将为这些日期元素创建一个<form style="border: 4px solid #a1a1a1;margin-top: 15px;padding: 10px;" action="{{ URL::to('dropboxFileUpload') }}" class="form-horizontal" method="post" enctype="multipart/form-data" > <input type="file" name="image" /> {!! Form::token(); !!} {!! csrf_field() ; !!} <button class="btn btn-primary">Import File</button> </form> 的逻辑索引从&#39;年开始,&#39; create_date&#39;基于逻辑索引(&#39; i1&#39;),分别转换为grepl类,并将它们分别分配给与数据集的行数相同长度的Date向量创建完整的Date类。

Date

或者我在OP i1 <- grepl("^[0-9]{4}", df$create_date) v1 <- as.Date(df$create_date[i1]) v2 <- as.Date(df$create_date[!i1], "%m/%d/%Y") v3 <- Sys.Date() + 0:(nrow(df)-1) v3[i1] <- v1 v3[!i1] <- v2 df$create_date <- v3 的帖子(第一个)parse_date_time中发表评论

lubridate

数据

library(lubridate)
as.Date(parse_date_time(df$create_date, c('mdy', 'ymd_hms')))
#[1] "2016-08-13" "2016-08-13" "2016-08-13" "2016-08-13" 
#[5] "2016-08-13" "2016-08-13" "2016-08-13"