读入晦涩的时间戳
read in obscure timestamps
我在名为 time
的列中有时间数据,格式为 H:M,如下所示:
1430
1600
1625
1700
1800
2000
5
15
200
235
400
600
800
然而,当时间在早上时,它只打印为一位数。当时间是午夜时,根本不打印。同样,如果小时是午夜且分钟小于 10,它只打印一个数字。
如何以 H:M 的形式阅读此内容?我试过:
time1 <- strptime(time,format = "%H%M")
但是 5
等时间戳被转换为 NA
。
您可以先使用sprintf
功能:
data = data.frame(time = c(1430, 1600, 1625, 1700, 1800, 2000, 5, 15, 200, 235, 400, 600, 800))
data$time = sprintf("%04.f", as.numeric(data$time))
data$time = strptime(data$time ,format = "%H%M")
> print(data)
time
1 2016-07-08 14:30:00
2 2016-07-08 16:00:00
3 2016-07-08 16:25:00
4 2016-07-08 17:00:00
5 2016-07-08 18:00:00
6 2016-07-08 20:00:00
7 2016-07-08 00:05:00
8 2016-07-08 00:15:00
9 2016-07-08 02:00:00
10 2016-07-08 02:35:00
11 2016-07-08 04:00:00
12 2016-07-08 06:00:00
13 2016-07-08 08:00:00
我在名为 time
的列中有时间数据,格式为 H:M,如下所示:
1430
1600
1625
1700
1800
2000
5
15
200
235
400
600
800
然而,当时间在早上时,它只打印为一位数。当时间是午夜时,根本不打印。同样,如果小时是午夜且分钟小于 10,它只打印一个数字。
如何以 H:M 的形式阅读此内容?我试过:
time1 <- strptime(time,format = "%H%M")
但是 5
等时间戳被转换为 NA
。
您可以先使用sprintf
功能:
data = data.frame(time = c(1430, 1600, 1625, 1700, 1800, 2000, 5, 15, 200, 235, 400, 600, 800))
data$time = sprintf("%04.f", as.numeric(data$time))
data$time = strptime(data$time ,format = "%H%M")
> print(data)
time
1 2016-07-08 14:30:00
2 2016-07-08 16:00:00
3 2016-07-08 16:25:00
4 2016-07-08 17:00:00
5 2016-07-08 18:00:00
6 2016-07-08 20:00:00
7 2016-07-08 00:05:00
8 2016-07-08 00:15:00
9 2016-07-08 02:00:00
10 2016-07-08 02:35:00
11 2016-07-08 04:00:00
12 2016-07-08 06:00:00
13 2016-07-08 08:00:00