从POSIXlt向量中提取小时数时,`format`比`$`更安全吗?

时间:2014-04-09 19:50:37

标签: r format hour posixct

用裸骨启动R

l@np350v5c:~$ R --vanilla 
> search()
[1] ".GlobalEnv"        "package:stats"     "package:graphics" 
[4] "package:grDevices" "package:utils"     "package:datasets" 
[7] "package:methods"   "Autoloads"         "package:base"     

..这是一个数据转储(意大利北部医院的紧急访问时间),这给了一个奇怪的(对我而言)行为:

times <- structure(list(sec = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0), min = c(5L, 43L, 2L, 47L, 15L, 18L, 46L, 50L, 58L, 
26L, 14L, 54L, 28L, 11L, 32L, 17L, 51L, 40L, 17L, 47L, 21L, 57L, 
59L, 34L, 45L, 15L, 10L, 25L, 27L, 31L, 5L, 34L, 5L, 36L, 16L, 
2L, 20L, 0L, 24L, 1L, 54L, 59L, 28L, 24L, 24L, 19L, 26L, 1L, 
48L, 0L, 10L, 18L, 43L, 38L, 24L, 21L, 37L, 36L, 54L, 11L, 27L, 
29L, 34L, 32L, 33L, 43L, 40L, 53L, 56L, 48L, 47L, 54L, 11L, 37L, 
14L, 46L, 30L, 54L, 0L, 38L, 27L, 57L, 21L, 31L, 21L, 37L, 17L, 
41L, 21L, 14L, 33L, 33L, 31L, 6L, 30L, 48L, 49L, 26L, 9L, 0L, 
19L, 45L, 5L, 9L, 29L, 15L, 34L, 48L, 20L, 25L, 1L, 49L, 48L, 
46L, 47L, 18L, 48L, 35L, 56L, 24L, 41L, 13L, 37L, 53L, 57L, 11L, 
9L, 43L, 30L, 11L, 55L, 56L, 12L, 35L, 14L, 48L, 22L, 44L, 25L, 
51L, 51L, 27L, 58L, 23L, 17L, 42L, 21L, 54L, 59L, 40L, 37L, 43L, 
15L, 12L, 22L, 15L, 55L, 7L, 21L, 59L, 34L, 38L, 15L, 8L, 57L, 
49L, 6L, 1L, 51L, 46L, 49L, 20L, 46L, 56L, 32L, 36L, 56L, 47L, 
58L, 23L, 14L, 56L, 4L, 44L, 25L, 44L, 22L, 21L, 36L, 35L, 58L, 
27L, 22L, 44L, 16L, 5L, 34L, 46L, 52L, 18L, 0L, 32L, 49L, 3L, 
16L, 53L, 57L, 58L, 35L, 21L, 32L, 57L, 7L, 20L, 29L, 26L, 48L, 
53L, 9L, 59L, 58L, 30L, 57L, 34L, 6L, 29L, 57L, 10L, 25L, 15L, 
26L, 29L, 20L, 24L, 36L, 54L, 46L, 24L, 14L, 10L, 48L, 22L, 17L, 
39L, 59L, 33L, 12L, 0L, 29L, 36L, 31L, 57L, 38L, 10L, 29L, 42L, 
36L, 16L, 2L, 21L, 35L, 4L, 16L, 33L, 35L, 14L, 37L, 25L, 51L, 
12L, 45L, 15L, 7L, 33L, 42L, 28L, 19L, 40L, 5L, 39L, 13L, 23L, 
47L, 31L, 7L, 12L, 8L, 7L, 24L, 37L, 51L, 49L, 11L, 0L, 23L, 
30L, 37L, 48L, 26L, 42L, 33L, 8L, 17L, 4L, 51L, 26L, 48L, 17L, 
43L, 35L, 35L, 27L, 27L, 47L, 17L, 24L, 43L, 55L, 20L, 54L, 38L, 
58L, 2L, 37L, 26L, 3L, 25L, 18L, 0L, 58L, 57L, 12L, 10L, 51L, 
37L, 23L, 57L, 14L, 7L, 22L, 50L, 14L, 24L, 27L, 42L, 53L, 6L, 
21L, 56L, 17L, 4L, 6L, 30L, 47L, 42L, 20L, 17L, 0L, 35L, 59L, 
46L, 50L, 16L, 15L, 42L, 26L, 36L, 8L, 35L, 2L, 59L, 12L, 14L, 
58L, 3L, 0L, 37L, 36L, 23L, 29L, 45L, 44L, 32L, 25L, 1L, 50L, 
17L, 56L, 58L, 53L, 35L, 17L, 14L, 38L, 27L, 27L, 8L, 14L, 7L, 
24L, 13L, 42L, 21L, 12L, 38L, 24L, 30L, 27L, 55L, 23L, 31L, 43L, 
22L, 47L, 50L, 27L, 56L, 22L, 54L, 23L, 46L, 17L, 30L, 41L, 54L, 
41L, 51L, 44L, 34L, 42L, 3L, 57L, 9L, 51L, 54L, 58L, 53L, 58L, 
4L, 12L, 12L, 35L, 55L, 5L, 4L, 15L, 56L, 14L, 48L, 57L, 13L, 
19L, 25L, 24L, 24L, 2L, 54L), hour = c(-3, -4, -3, -2, -4, -1, 
-5, -4, -5, -5, -5, -4, -3, -2, -4, -2, -2, -4, -4, -1, -2, -5, 
-5, -2, -2, -2, -5, -1, -1, -4, -3, -4, -4, -3, -4, -3, -1, -2, 
-2, -1, -2, -5, -5, -3, -2, -2, -3, -3, -4, -1, -4, -3, -4, -2, 
-5, -2, -4, -5, -4, -2, -5, -1, -5, -3, -2, -1, -3, -5, -1, -3, 
-5, -1, -5, -1, -3, -1, -2, -5, -3, -1, -5, -1, -1, -3, -5, -1, 
-2, -4, -4, -5, -3, -5, -4, -1, -5, -2, -5, -3, -5, -5, -2, -1, 
-5, -3, -5, -3, -2, -4, -3, -1, -1, -2, -3, -1, -4, -3, -4, -5, 
-1, -5, -3, -3, -1, -3, -3, -4, -4, -2, -5, -5, -1, -3, -5, -2, 
-3, -2, -1, -5, -3, -5, -1, -1, -1, -3, -3, -5, -1, -2, -4, -2, 
-4, -1, -4, -5, -1, -5, -1, -1, -4, -2, -5, -5, -3, -1, -5, -3, 
-4, -5, -4, -5, -3, -5, -5, -5, -2, -5, -3, -5, -3, -4, -4, -5, 
-5, -1, -4, -4, -1, -3, -1, -3, -3, -4, -2, -2, -4, -3, -1, -4, 
-5, -3, -1, -3, -4, -3, -5, -1, -3, -5, -4, -5, -2, -4, -1, -3, 
-5, -2, -5, -3, -4, -2, -5, -4, -1, -5, -3, -5, -1, -2, -2, -4, 
-3, -4, -2, -4, -3, -4, -2, -5, -1, -1, -2, -1, -3, -5, -1, -1, 
-2, -4, -4, -5, -3, -3, -3, -4, -4, -4, -4, -3, -4, -2, -5, -4, 
-1, -4, -5, -4, -3, -3, -5, -2, -3, -1, -4, -1, -5, -2, -1, -1, 
-4, -3, -2, -5, -4, -3, -4, -1, -3, -4, -5, -3, -2, -4, -1, -4, 
-4, -2, -5, -3, -5, -1, -3, -4, -2, -1, -2, -3, -5, -3, -1, -1, 
-3, -4, -4, -2, -2, -1, -2, -1, -4, -2, -5, -2, -1, -3, -5, -1, 
-5, -3, -3, -5, -2, -1, -1, -4, -5, -5, -4, -1, -3, -5, -2, -4, 
-1, -2, -4, -5, -5, -1, -5, -5, -4, -2, -5, -2, -3, -2, -2, -2, 
-3, -2, -4, -4, -5, -1, -2, -5, -3, -1, -1, -4, -1, -5, -3, -5, 
-4, -2, -4, -3, -4, -4, -3, -2, -2, -5, -2, -1, -1, -1, -3, -5, 
-4, -5, -1, -1, -3, -2, -4, -2, -2, -1, -2, -4, -3, -5, -2, -1, 
-4, -4, -1, -4, -2, -3, -2, -1, -5, -5, -4, -2, -1, -5, -3, -3, 
-4, -5, -3, -4, -1, -3, -2, -2, -2, -4, -1, -2, -2, -2, -5, -1, 
-4, -2, -4, -2, -5, -4, -2, -3, -2, -1, -1, -1, -3, -2, -5, -3, 
-5, -2, -1), mday = c(24L, 30L, 13L, 17L, 11L, 17L, 1L, 26L, 
21L, 1L, 9L, 6L, 7L, 17L, 17L, 4L, 24L, 23L, 31L, 2L, 22L, 19L, 
12L, 17L, 26L, 13L, 12L, 26L, 14L, 20L, 22L, 14L, 26L, 29L, 7L, 
16L, 19L, 10L, 19L, 17L, 15L, 22L, 4L, 22L, 6L, 22L, 6L, 24L, 
18L, 11L, 13L, 26L, 5L, 2L, 1L, 12L, 15L, 21L, 22L, 24L, 25L, 
18L, 4L, 18L, 28L, 4L, 21L, 25L, 18L, 4L, 8L, 10L, 21L, 11L, 
11L, 20L, 23L, 14L, 16L, 2L, 31L, 3L, 21L, 3L, 1L, 13L, 26L, 
20L, 17L, 4L, 3L, 13L, 10L, 23L, 16L, 1L, 28L, 27L, 16L, 29L, 
6L, 15L, 6L, 14L, 4L, 17L, 15L, 4L, 19L, 26L, 20L, 22L, 24L, 
1L, 16L, 18L, 12L, 21L, 26L, 11L, 30L, 19L, 26L, 4L, 3L, 2L, 
26L, 30L, 14L, 16L, 21L, 20L, 29L, 26L, 17L, 23L, 8L, 19L, 23L, 
14L, 14L, 5L, 28L, 6L, 15L, 13L, 8L, 6L, 1L, 2L, 3L, 5L, 16L, 
17L, 3L, 23L, 20L, 27L, 28L, 1L, 31L, 26L, 14L, 30L, 22L, 9L, 
31L, 5L, 19L, 9L, 27L, 26L, 24L, 12L, 27L, 20L, 9L, 4L, 9L, 4L, 
18L, 9L, 13L, 10L, 23L, 27L, 11L, 21L, 6L, 6L, 6L, 9L, 23L, 14L, 
27L, 23L, 17L, 19L, 29L, 16L, 18L, 4L, 5L, 29L, 14L, 16L, 19L, 
25L, 14L, 16L, 27L, 12L, 11L, 26L, 2L, 17L, 1L, 20L, 2L, 3L, 
5L, 7L, 27L, 27L, 17L, 6L, 4L, 11L, 5L, 15L, 13L, 19L, 1L, 29L, 
18L, 29L, 17L, 23L, 31L, 26L, 19L, 17L, 14L, 21L, 17L, 13L, 5L, 
13L, 4L, 27L, 13L, 18L, 4L, 24L, 23L, 21L, 25L, 25L, 2L, 24L, 
25L, 28L, 6L, 10L, 15L, 9L, 7L, 8L, 9L, 22L, 17L, 11L, 15L, 24L, 
14L, 23L, 18L, 28L, 3L, 20L, 25L, 5L, 17L, 21L, 24L, 21L, 24L, 
3L, 31L, 21L, 18L, 27L, 30L, 25L, 13L, 8L, 21L, 16L, 22L, 24L, 
3L, 16L, 4L, 22L, 15L, 30L, 2L, 16L, 28L, 24L, 26L, 20L, 9L, 
3L, 3L, 4L, 11L, 5L, 30L, 19L, 24L, 3L, 24L, 5L, 14L, 4L, 23L, 
18L, 7L, 16L, 24L, 3L, 27L, 4L, 30L, 22L, 28L, 17L, 25L, 3L, 
19L, 18L, 26L, 8L, 24L, 18L, 17L, 6L, 17L, 25L, 6L, 23L, 14L, 
4L, 5L, 15L, 5L, 4L, 19L, 4L, 7L, 24L, 28L, 23L, 28L, 9L, 7L, 
27L, 26L, 25L, 4L, 19L, 24L, 18L, 18L, 7L, 16L, 11L, 10L, 21L, 
6L, 30L, 15L, 1L, 16L, 16L, 21L, 17L, 8L, 19L, 1L, 23L, 10L, 
18L, 2L, 8L, 20L, 28L, 25L, 28L, 25L, 23L, 5L, 4L, 31L, 2L, 21L, 
30L, 1L, 4L, 18L, 8L, 25L, 1L, 25L, 2L, 5L, 20L, 2L, 17L, 5L, 
5L, 30L, 30L, 17L, 5L, 18L, 21L, 24L, 20L, 26L, 31L, 15L, 30L, 
16L, 6L, 18L, 28L, 7L, 25L, 24L, 7L, 23L, 9L, 8L, 25L, 11L, 20L, 
19L, 24L, 5L, 5L, 26L, 26L, 7L, 29L, 22L), mon = c(10L, 4L, 7L, 
7L, 4L, 10L, 11L, 5L, 5L, 5L, 1L, 5L, 10L, 9L, 1L, 6L, 7L, 7L, 
0L, 5L, 7L, 10L, 6L, 4L, 4L, 6L, 11L, 10L, 8L, 3L, 6L, 1L, 5L, 
6L, 11L, 8L, 4L, 5L, 2L, 8L, 0L, 4L, 1L, 1L, 11L, 0L, 2L, 11L, 
6L, 1L, 4L, 6L, 9L, 6L, 4L, 10L, 0L, 9L, 5L, 1L, 8L, 1L, 6L, 
6L, 4L, 3L, 8L, 11L, 7L, 4L, 11L, 9L, 5L, 4L, 6L, 0L, 7L, 0L, 
1L, 10L, 11L, 4L, 7L, 7L, 9L, 9L, 9L, 10L, 3L, 1L, 9L, 3L, 5L, 
11L, 6L, 10L, 10L, 0L, 11L, 3L, 9L, 10L, 6L, 8L, 5L, 7L, 7L, 
8L, 1L, 9L, 2L, 11L, 1L, 6L, 7L, 10L, 2L, 8L, 8L, 8L, 8L, 4L, 
1L, 0L, 0L, 5L, 6L, 6L, 3L, 5L, 7L, 7L, 11L, 6L, 1L, 8L, 10L, 
9L, 2L, 10L, 10L, 0L, 3L, 9L, 9L, 7L, 7L, 1L, 9L, 2L, 2L, 0L, 
7L, 0L, 7L, 10L, 7L, 5L, 7L, 5L, 7L, 11L, 4L, 10L, 7L, 11L, 6L, 
11L, 10L, 6L, 2L, 6L, 0L, 7L, 10L, 2L, 9L, 4L, 1L, 2L, 7L, 8L, 
3L, 10L, 10L, 8L, 0L, 9L, 3L, 11L, 6L, 11L, 5L, 2L, 8L, 2L, 11L, 
11L, 1L, 8L, 1L, 6L, 8L, 4L, 4L, 3L, 1L, 1L, 8L, 10L, 7L, 3L, 
8L, 5L, 4L, 1L, 7L, 7L, 6L, 2L, 6L, 9L, 6L, 11L, 8L, 6L, 10L, 
2L, 1L, 7L, 6L, 10L, 5L, 4L, 1L, 0L, 1L, 0L, 11L, 2L, 6L, 9L, 
11L, 11L, 10L, 11L, 7L, 8L, 4L, 6L, 9L, 4L, 8L, 9L, 9L, 10L, 
10L, 3L, 7L, 9L, 4L, 8L, 2L, 10L, 10L, 4L, 3L, 1L, 9L, 7L, 9L, 
3L, 5L, 0L, 8L, 9L, 7L, 8L, 5L, 7L, 8L, 8L, 10L, 1L, 7L, 2L, 
9L, 8L, 2L, 5L, 0L, 10L, 5L, 6L, 2L, 10L, 1L, 8L, 7L, 0L, 1L, 
3L, 9L, 3L, 6L, 4L, 10L, 0L, 3L, 5L, 4L, 10L, 9L, 7L, 4L, 3L, 
0L, 3L, 3L, 1L, 9L, 5L, 3L, 3L, 8L, 11L, 10L, 4L, 11L, 0L, 7L, 
1L, 0L, 4L, 2L, 2L, 0L, 0L, 7L, 4L, 4L, 10L, 8L, 3L, 8L, 11L, 
8L, 0L, 0L, 6L, 6L, 1L, 0L, 3L, 4L, 2L, 9L, 1L, 6L, 4L, 3L, 1L, 
0L, 0L, 11L, 1L, 4L, 3L, 7L, 10L, 2L, 1L, 0L, 0L, 5L, 4L, 8L, 
10L, 7L, 10L, 8L, 8L, 1L, 8L, 11L, 8L, 10L, 7L, 11L, 4L, 8L, 
1L, 10L, 3L, 10L, 5L, 10L, 7L, 9L, 9L, 2L, 10L, 0L, 9L, 4L, 7L, 
7L, 11L, 1L, 11L, 1L, 1L, 4L, 2L, 3L, 3L, 5L, 10L, 0L, 7L, 9L, 
7L, 10L, 10L, 4L, 2L, 0L, 0L, 1L, 7L, 8L, 6L, 9L, 9L, 11L, 4L, 
6L, 8L, 9L, 0L, 8L, 6L, 4L, 6L, 7L, 4L, 0L, 0L, 9L, 1L, 4L, 0L, 
1L, 8L, 1L, 3L, 7L), year = c(112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 
112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L, 112L
), wday = c(6L, 3L, 1L, 5L, 5L, 6L, 6L, 2L, 4L, 5L, 4L, 3L, 3L, 
3L, 5L, 3L, 5L, 4L, 2L, 6L, 3L, 1L, 4L, 4L, 6L, 5L, 3L, 1L, 5L, 
5L, 0L, 2L, 2L, 0L, 5L, 0L, 6L, 0L, 1L, 1L, 0L, 2L, 6L, 3L, 4L, 
0L, 2L, 1L, 3L, 6L, 0L, 4L, 5L, 1L, 2L, 1L, 0L, 0L, 5L, 5L, 2L, 
6L, 3L, 3L, 1L, 3L, 5L, 2L, 6L, 5L, 6L, 3L, 4L, 5L, 3L, 5L, 4L, 
6L, 4L, 5L, 1L, 4L, 2L, 5L, 1L, 6L, 5L, 2L, 2L, 6L, 3L, 5L, 0L, 
0L, 1L, 4L, 3L, 5L, 0L, 0L, 6L, 4L, 5L, 5L, 1L, 5L, 3L, 2L, 0L, 
5L, 2L, 6L, 5L, 0L, 4L, 0L, 1L, 5L, 3L, 2L, 0L, 6L, 0L, 3L, 2L, 
6L, 4L, 1L, 6L, 6L, 2L, 1L, 6L, 4L, 5L, 0L, 4L, 5L, 5L, 3L, 3L, 
4L, 6L, 6L, 1L, 1L, 3L, 1L, 1L, 5L, 6L, 4L, 4L, 2L, 5L, 5L, 1L, 
3L, 2L, 5L, 5L, 3L, 1L, 5L, 3L, 0L, 2L, 3L, 1L, 1L, 2L, 4L, 2L, 
0L, 2L, 2L, 2L, 5L, 4L, 0L, 6L, 0L, 5L, 6L, 5L, 4L, 3L, 0L, 5L, 
4L, 5L, 0L, 6L, 3L, 4L, 5L, 1L, 3L, 3L, 0L, 6L, 3L, 3L, 2L, 1L, 
1L, 0L, 6L, 5L, 5L, 1L, 4L, 2L, 2L, 3L, 5L, 3L, 1L, 1L, 6L, 4L, 
0L, 5L, 4L, 1L, 5L, 0L, 0L, 0L, 3L, 5L, 1L, 5L, 2L, 6L, 0L, 5L, 
1L, 1L, 1L, 4L, 3L, 5L, 5L, 6L, 4L, 0L, 4L, 5L, 5L, 6L, 5L, 2L, 
3L, 2L, 3L, 0L, 3L, 4L, 3L, 5L, 5L, 2L, 6L, 4L, 3L, 6L, 3L, 2L, 
3L, 3L, 3L, 5L, 2L, 5L, 2L, 6L, 5L, 0L, 1L, 2L, 3L, 6L, 2L, 5L, 
3L, 3L, 1L, 6L, 4L, 3L, 2L, 6L, 3L, 2L, 4L, 2L, 0L, 3L, 2L, 5L, 
1L, 4L, 0L, 0L, 3L, 5L, 1L, 6L, 0L, 6L, 2L, 2L, 5L, 4L, 3L, 3L, 
4L, 1L, 0L, 3L, 0L, 2L, 4L, 5L, 2L, 5L, 5L, 5L, 1L, 5L, 5L, 5L, 
5L, 5L, 4L, 6L, 2L, 6L, 4L, 6L, 0L, 3L, 0L, 1L, 2L, 1L, 5L, 2L, 
3L, 5L, 4L, 6L, 3L, 6L, 4L, 5L, 6L, 4L, 5L, 6L, 5L, 6L, 1L, 5L, 
4L, 1L, 5L, 0L, 0L, 0L, 0L, 2L, 3L, 1L, 1L, 0L, 0L, 5L, 3L, 4L, 
0L, 3L, 6L, 0L, 0L, 3L, 5L, 6L, 6L, 6L, 4L, 6L, 3L, 5L, 5L, 2L, 
2L, 4L, 0L, 0L, 5L, 4L, 4L, 4L, 4L, 2L, 0L, 3L, 2L, 6L, 3L, 5L, 
4L, 3L, 1L, 2L, 2L, 1L, 5L, 5L, 0L, 5L, 5L, 4L, 1L, 3L, 6L, 5L, 
1L, 3L, 2L, 1L, 2L, 0L, 0L, 3L, 5L, 0L, 3L, 1L, 6L, 3L, 1L, 3L, 
5L, 3L, 5L, 5L, 5L, 6L, 4L, 0L, 3L, 2L, 0L, 3L), yday = c(328L, 
150L, 225L, 229L, 131L, 321L, 335L, 177L, 172L, 152L, 39L, 157L, 
311L, 290L, 47L, 185L, 236L, 235L, 30L, 153L, 234L, 323L, 193L, 
137L, 146L, 194L, 346L, 330L, 257L, 110L, 203L, 44L, 177L, 210L, 
341L, 259L, 139L, 161L, 78L, 260L, 14L, 142L, 34L, 52L, 340L, 
21L, 65L, 358L, 199L, 41L, 133L, 207L, 278L, 183L, 121L, 316L, 
14L, 294L, 173L, 54L, 268L, 48L, 185L, 199L, 148L, 94L, 264L, 
359L, 230L, 124L, 342L, 283L, 172L, 131L, 192L, 19L, 235L, 13L, 
46L, 306L, 365L, 123L, 233L, 215L, 274L, 286L, 299L, 324L, 107L, 
34L, 276L, 103L, 161L, 357L, 197L, 305L, 332L, 26L, 350L, 119L, 
279L, 319L, 187L, 257L, 155L, 229L, 227L, 247L, 49L, 299L, 79L, 
356L, 54L, 182L, 228L, 322L, 71L, 264L, 269L, 254L, 273L, 139L, 
56L, 3L, 2L, 153L, 207L, 211L, 104L, 167L, 233L, 232L, 363L, 
207L, 47L, 266L, 312L, 292L, 82L, 318L, 318L, 4L, 118L, 279L, 
288L, 225L, 220L, 36L, 274L, 61L, 62L, 4L, 228L, 16L, 215L, 327L, 
232L, 178L, 240L, 152L, 243L, 360L, 134L, 334L, 234L, 343L, 212L, 
339L, 323L, 190L, 86L, 207L, 23L, 224L, 331L, 79L, 282L, 124L, 
39L, 63L, 230L, 252L, 103L, 314L, 327L, 270L, 10L, 294L, 96L, 
340L, 187L, 343L, 174L, 73L, 270L, 82L, 351L, 353L, 59L, 259L, 
48L, 185L, 248L, 149L, 134L, 106L, 49L, 55L, 257L, 320L, 239L, 
102L, 254L, 177L, 122L, 47L, 213L, 232L, 183L, 62L, 186L, 280L, 
208L, 361L, 260L, 187L, 308L, 70L, 35L, 227L, 194L, 323L, 152L, 
149L, 48L, 28L, 47L, 22L, 365L, 85L, 200L, 290L, 348L, 355L, 
321L, 347L, 217L, 256L, 124L, 208L, 286L, 138L, 247L, 297L, 296L, 
325L, 329L, 115L, 214L, 297L, 145L, 271L, 65L, 314L, 319L, 129L, 
97L, 38L, 282L, 234L, 290L, 101L, 166L, 23L, 257L, 296L, 230L, 
271L, 154L, 232L, 268L, 248L, 321L, 51L, 236L, 80L, 297L, 246L, 
90L, 172L, 17L, 331L, 181L, 206L, 72L, 312L, 51L, 259L, 234L, 
23L, 33L, 106L, 277L, 112L, 196L, 150L, 306L, 15L, 118L, 175L, 
146L, 324L, 282L, 215L, 123L, 94L, 10L, 95L, 120L, 49L, 297L, 
154L, 114L, 95L, 257L, 338L, 327L, 138L, 341L, 15L, 236L, 33L, 
26L, 124L, 89L, 81L, 27L, 16L, 237L, 123L, 139L, 322L, 269L, 
98L, 267L, 352L, 260L, 5L, 16L, 206L, 187L, 53L, 13L, 94L, 125L, 
74L, 278L, 34L, 200L, 124L, 97L, 54L, 27L, 22L, 362L, 39L, 127L, 
117L, 238L, 329L, 63L, 49L, 23L, 17L, 169L, 127L, 259L, 315L, 
222L, 325L, 249L, 273L, 45L, 244L, 350L, 259L, 325L, 229L, 342L, 
139L, 244L, 53L, 314L, 108L, 306L, 159L, 324L, 240L, 298L, 301L, 
84L, 327L, 4L, 277L, 151L, 214L, 233L, 364L, 31L, 338L, 48L, 
38L, 145L, 60L, 115L, 92L, 156L, 324L, 1L, 229L, 278L, 217L, 
334L, 334L, 137L, 64L, 17L, 20L, 54L, 232L, 269L, 212L, 288L, 
303L, 350L, 126L, 199L, 271L, 280L, 24L, 267L, 188L, 143L, 190L, 
220L, 145L, 10L, 19L, 292L, 54L, 125L, 4L, 56L, 269L, 37L, 119L, 
234L), isdst = c(0L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 
1L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 
0L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 
0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 
0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 
0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 
1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 
1L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 
0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 
0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 
0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 
1L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 
1L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 
1L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 
0L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 
0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 
0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 
0L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 
0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 
1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 
0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 
0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 
0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 
0L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 
1L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 
0L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 
0L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 
1L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 1L, 1L)), .Names = c("sec", 
"min", "hour", "mday", "mon", "year", "wday", "yday", "isdst"
), class = c("POSIXlt", "POSIXt"))

然后,尝试以不同的方式提取小时

df <- data.frame(times,
                 with.dollar = times$hour,
                 with.format = as.numeric(format(times, "%H"))
                 )

head(df)

我的结果是

                times with.dollar with.format
1 2012-11-23 21:05:00          -3          21
2 2012-05-29 20:43:00          -4          20
3 2012-08-12 21:02:00          -3          21
4 2012-08-16 22:47:00          -2          22
5 2012-05-10 20:15:00          -4          20
6 2012-11-16 23:18:00          -1          23

另一项测试(不在data.frame ...简单向量中)

> any(times$hour == as.numeric(format(times, "%H")))
[1] FALSE

对于times$hour,在某些情况下,似乎从接下来的几天开始计算小时数(此处报告了所有案例)。

你可以重现吗?任何想法为什么?

查看?POSIXlt可能错误,因为并非所有小时都在0:23范围内。 如果是这样,目前使用format代替$ POSIXlt向量

会更安全
> R.version
               _                           
platform       x86_64-pc-linux-gnu         
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          0.3                         
year           2014                        
month          03                          
day            06                          
svn rev        65126                       
language       R                           
version.string R version 3.0.3 (2014-03-06)
nickname       Warm Puppy                  

0 个答案:

没有答案