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

将日期转换为R中的文本

  •  1
  • GCGM  · 技术社区  · 6 年前

    我有以下带有日期(YYYY-MM-DD)的数据集:

    > dates
     [1] "20180412" "20180424" "20180506" "20180518" "20180530" "20180611" "20180623" "20180705" "20180717" "20180729"
    

    我想把它们转换成: 20180412 应该变成 12Apr2018

    对如何进行有什么建议吗?

    4 回复  |  直到 6 年前
        1
  •  4
  •   Dirk is no longer here    6 年前

    你需要先 文本字符串为 Date 对象,然后 格式 这些 日期 对象具有不同的文本输出:

    R> library(anytime)   ## one easy way to parse dates and times
    R> dates <- anydate(c("20180412", "20180424", "20180506", "20180518", "20180530",
    +                    "20180611", "20180623", "20180705", "20180717", "20180729"))
    R> dates
     [1] "2018-04-12" "2018-04-24" "2018-05-06" "2018-05-18" "2018-05-30"
     [6] "2018-06-11" "2018-06-23" "2018-07-05" "2018-07-17" "2018-07-29"
    R> 
    R> txtdates <- format(dates, "%d%b%Y")
    R> txtdates
     [1] "12Apr2018" "24Apr2018" "06May2018" "18May2018" "30May2018"
     [6] "11Jun2018" "23Jun2018" "05Jul2018" "17Jul2018" "29Jul2018"
    R> 
    
        2
  •  3
  •   forestfanjoe    6 年前

    as.Date() format() 功能:

    dts <- c("20180412", "20180424", "20180506", "20180518", "20180530", 
             "20180611", "20180623")
    
    format(as.Date(dts, format = "%Y%m%d"), "%d%b%Y")
    

    here

        3
  •  2
  •   TOAN TRAN    6 年前

    # print today's date
    today <- Sys.Date()
    format(today, format="%B %d %Y") "June 20 2007"
    

    其中,以下符号可与format()函数一起用于打印日期 1

        4
  •  2
  •   Saurabh Chauhan    6 年前

    简单使用 as.POSIXct as.format

    dates <- c("20180412", "20180424", "20180506")
    format(as.POSIXct(dates, format="%Y%m%d"),format="%d%b%y")
    

    输出:

    [1] "12Apr18" "24Apr18" "06May18"