将合并的 Day/Time 十进制格式转换为 POSIX
Converting combined Day/Time decimal format to POSIX
我有一个我认为以 20 分钟为增量给出的数据集。年和月列以标准十进制值给出。但是日期和 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,是否可以将 decimal.day 列转换为标准时间格式?最后,我想将所有 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 表示从每月的第一天开始平衡
我有一个我认为以 20 分钟为增量给出的数据集。年和月列以标准十进制值给出。但是日期和 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,是否可以将 decimal.day 列转换为标准时间格式?最后,我想将所有 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 表示从每月的第一天开始平衡