在R中转换时间格式

时间:2015-11-24 10:32:34

标签: r date time

我正在尝试从"时间"更改变量的类至"日期"。我想要更改的列是由ROracle包执行的Oracle查询的结果。

该列的格式为" YYYY-MM-DD"但是类不是日期......当我尝试使用函数as.Date(min_date, format = '%Y-%m-%d')将其更改为日期时,控制台会返回以下错误:

  

charToDate(x)出错:字符串不在标准中   明确的格式

min_date <- structure(c(1335909600, 1336946400, 1336514400, 1336514400, 1335045600), class = c("POSIXct", "POSIXt"))

2 个答案:

答案 0 :(得分:0)

min_date <- structure(c(1335909600, 1336946400, 1336514400, 1336514400, 1335045600), class = c("POSIXct", "POSIXt"))
min_date <- as.Date(min_date)
class(min_date)

返回“日期”

答案 1 :(得分:0)

感谢大家的评论,通过阅读你的评论,我意识到as.Date应该在我正在做的select语句之外完成(忘记提及,抱歉)

这是原始代码:

temp <- select(data, name,as.Date(MIN_DATE, format = "%Y-%m-%d")%>%
  group_by(name)%>%
  summarise(MIN_DATE = min(MIN_DATE))%>%
  arrange(MIN_DATE)

这个解决方案

temp <- select(data, name,MIN_DATE)%>%
  group_by(name)%>%
  summarise(MIN_DATE = min(MIN_DATE))%>%
  arrange(MIN_DATE)

temp$MIN_DATE<- as.Date(temp$MIN_DATE, format = '%Y-%m-%d')

希望这有助于其他使用dplyr的人