代码之家  ›  专栏  ›  技术社区  ›  user5947793

R润滑。出了什么问题?

  •  1
  • user5947793  · 技术社区  · 7 年前

    试图成为迄今为止的一个因素。

    Jul-15
    Jul-15
    Jul-15
    Jul-15
    Aug-16
    

    我想把它们转换成日期。

    X <- as.Date(Xx, format="%b-%y")
    

    结果为NA。

    https://www.r-bloggers.com/date-formats-in-r/

    3 回复  |  直到 7 年前
        1
  •  2
  •   Richard    7 年前

    像Date是基R函数,正如_Date是lubridate函数一样,但这不是你的问题

    没有一天,您就不能完全指定日期。与年份不同,R将用当前年份填充,这似乎不会发生在缺失的一天

    作为一种解决方法,运行:

    X <- as.Date(paste0(Xx,'-01'), format="%b-%y-%d")
    

        2
  •  0
  •   abichat    7 年前

    您需要完整的日期,包括日期:

    library(lubridate)
    X <- "Jul-15"
    X <- paste("01", X, sep="-")
    dmy(X)
    
        3
  •  0
  •   danh    7 年前

    这个 yearmon 来自的函数 zoo 包裹会帮你的。既然你有 lubridate as_date 润滑 包将其转换为日期对象。基本函数 as.Date 也可以。

    library(zoo)  
    library(lubridate)
    
    as_date(as.yearmon(Xx, "%b-%y"))
    
    [1] "2015-07-01" "2015-07-01" "2015-07-01" "2015-07-01" "2016-08-01"
    

     as.yearmon(Xx, "%b-%y")
    
    [1] "Jul 2015" "Jul 2015" "Jul 2015" "Jul 2015" "Aug 2016"