在[R]中将数据更改为日期时出错

时间:2018-02-04 00:16:53

标签: r as.date

使用as.Date将向量转换为日期1时出现问题。 数据如下。

> new3<-read.csv("Total Load - Day Ahead _ Actual.csv",stringsAsFactors=F)
> colnames(new3)<- c("Date","Hour","Dayahead","Actual")
> str(new3)
'data.frame':   35044 obs. of  4 variables:
 $ Date    : chr  "01-01-2015" "01-01-2015" "01-01-2015" "01-01-2015" ...
 $ Hour    : chr  "0:00" "0:15" "0:30" "0:45" ...
 $ Dayahead: chr  "42955" "42412" "41901" "41355" ...
 $ Actual  : int  42425 42021 42068 41874 41230 40810 40461 40160 39958 
 ... 

在这里,我尝试了as.Data

new3$Date<-as.Date(new3$Date,"%d/%m/%Y")

d,m,Y的顺序是正确的。但是当我这样做时,它会在日期信息中显示NA,如下所示

> str(new3)
'data.frame':   35044 obs. of  4 variables:
 $ Date    : Date, format: NA NA NA NA ...
 $ Hour    : chr  "0:00" "0:15" "0:30" "0:45" ...
 $ Dayahead: chr  "42955" "42412" "41901" "41355" ...
 $ Actual  : int  42425 42021 42068 41874 41230 40810 40461 40160 39958 
 ...

我不知道如何解决这个问题。

任何人都可以帮助我吗?谢谢

1 个答案:

答案 0 :(得分:3)

这一步似乎不对

new3$Date<-as.Date(new3$Date,"%d/%m/%Y")

你应该尝试使用

new3$Date<-as.Date(new3$Date,"%d-%m-%Y")

日期中的日期分隔符似乎为-而非/

我建议您同时查看lubridate包。它允许您轻松地将日期从character转换为date格式。