【问题标题】:Converting year, day of year, and HHMM to yyyy-mm-dd HH:MM将年、日和 HHMM 转换为 yyyy-mm-dd HH:MM
【发布时间】:2014-01-28 15:25:20
【问题描述】:

当我将 CSV 文件中的数据加载到 R 中时,我会收到以下数据帧

dd <- data.frame(year = as.integer(c(2007,2007)),
                 doy =  as.integer(c(156,156)),
                 HHMM = as.integer(c(1200,1200)),
                 var = as.numeric(c(11.2,11.2)))

dd[,1] <- as.character(dd[,1])
dd[,2] <- as.character(dd[,2])
dd[,3] <- as.character(dd[,3])

前三列是整数,最后一列是数字。我想将年份、年份和 HHMM 值转换为一个 dateTime 值,这可能吗?我试图获得的最终格式是 YYYY-mm-dd HH:MM。

我可以结合年份和日期,但不能包括 HHM,例如

strptime(paste(dd[,1], dd[,2],dd[,3]), format="%Y %j %HM") 

NA NA

如何做到这一点?

【问题讨论】:

    标签: r datetime posixct


    【解决方案1】:

    试试这个:

    # convert your separate time elements to as.POSIXct
    dd$time1 <- with(dd, as.POSIXct(paste(year, doy, HHMM), format = "%Y %j %H%M"))
    
    # convert time to character representation in desired format
    dd$time2 <- with(dd, format(time1, format = "%Y-%m-%d %H:%M"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 1970-01-01
      相关资源
      最近更新 更多