从未知工厂类型转换日期

时间:2015-04-10 01:39:52

标签: r date lubridate

我在这样的列中有日期值

      2014-08-14

它变成了一个具有此值的列

      1407992400

当我在该列上做一个类时它会返回类型因子,现在我不知道如何将它重新组合起来,就像以前一样,yyyy-mm-dd格式?

    dput(date1)
    structure(c(26L, 14L, 12L, 1L, 20L, 19L), .Label = c("1406869200", 
    "1406955600", "1407042000", "1407128400", "1407214800", "1407301200", 
    "1407387600", "1407474000", "1407560400", "1407646800", "1407733200", 
    "1407819600", "1407906000", "1407992400", "1408078800", "1408165200", 
    "1408251600", "1408338000", "1408424400", "1408510800", "1408597200", 
    "1408683600", "1408770000", "1408856400", "1408942800", "1409029200", 
    "1409115600", "1409202000", "1409288400", "1409374800"), class = 
    "factor")

1 个答案:

答案 0 :(得分:2)

好吧,它可能不是一个Date类的对象,因为它们是从1970年开始偏移的整数日期,所以它可能是意外地解锁()一个POSIXct对象的结果。

> as.POSIXct(1407992400, origin="1970-01-01")
[1] "2014-08-13 22:00:00 PDT"

通过R时区操作的魔力,你可以回到原来的日期:

 as.Date(as.POSIXct(1407992400, origin="1970-01-01"))
[1] "2014-08-14"

format()函数给出了该时间的UCT / UTC版本:

> format(as.POSIXct(1407992400, origin="1970-01-01"), "%Y-%m-%d")
[1] "2014-08-13"