r语言 - 将合并的日/时间十进制格式转换为POSIX



我有一个数据集,我相信它是以20分钟为增量给出的。年和月列以标准的十进制值给出。但是,Day和Hour/Min/Sec数据以组合小数形式给出(第一位数字是"Day",后面的小数点是时间)。为例:

Year      month decimal.day
2014       1      1.0139
2014       1      1.0278
2014       1      1.0417
2014       1      1.0556
2014       1      1.0694
2014       1      1.0833
2014       1      1.0972
2014       1      1.1111
2014       1      1.1250
2014       1      1.1389
2014       1      1.1528
2014       1      1.1667
2014       1      1.1806
2014       1      1.1944
  .        .      .
  .        .      .
  .        .      .
  .
 2014      1      1.9722
 2014      1      1.9861
 2014      1      2.0000
 2014      1      2.0139
 2014      1      2.0278
 2014      1      2.0417
 2014      1      2.0556
 2014      1      2.0694
 2014      1      2.0833

使用R,可以转换小数吗?将日列转换为标准时间格式?最后,我想将所有3列连接成标准的POSIX"YYYY-MM-DD HH:MM:SS"格式。

您可以使用as.POSIXct()来完成此操作:

as.POSIXct.numeric((df$decimal.day-1)*24*3600, 
                   origin=paste(df$Year, df$month, 1, sep = "/"), tz="GMT")

注意从每月第一天开始的-1余额

最新更新