[R] hours() in 'chron': output != input

Glen A Sargeant glen_sargeant at usgs.gov
Wed Sep 20 20:42:43 CEST 2006


I encountered surprising (to me, at least) behavior while using 'hours()' 
in package 'chron.' I will be grateful if someone can point out my error 
or provide an explanation and intuitive solution (I suppose I could 
convert chron to a character vector and use substring, but I deal mostly 
with newbies and kludgy approaches don't inspire much confidence).

I used 2.3.0 to construct the dataframe below.

1) 'date.char' is a character vector

2) 'time.char' is a character vector

3) 'chron' was created by 
>chron(dates(date.char),times(time.char))

4) hours were extracted with 
>hours(chron). 

5) Note that the hours used to construct 'chron' do not match the hours 
extracted with 'hours()' when minutes and seconds are "00:00."

   date.char time.char               chron hour
1   09/20/06  00:00:00 (09/20/06 00:00:00)    0
2   09/20/06  01:00:00 (09/20/06 01:00:00)    0
3   09/20/06  02:00:00 (09/20/06 02:00:00)    2
4   09/20/06  03:00:00 (09/20/06 03:00:00)    3
5   09/20/06  04:00:00 (09/20/06 04:00:00)    3
6   09/20/06  05:00:00 (09/20/06 05:00:00)    5
7   09/20/06  06:00:00 (09/20/06 06:00:00)    6
8   09/20/06  07:00:00 (09/20/06 07:00:00)    6
9   09/20/06  08:00:00 (09/20/06 08:00:00)    8
10  09/20/06  09:00:00 (09/20/06 09:00:00)    9
11  09/20/06  10:00:00 (09/20/06 10:00:00)    9
12  09/20/06  11:00:00 (09/20/06 11:00:00)   11
13  09/20/06  12:00:00 (09/20/06 12:00:00)   12
14  09/20/06  13:00:00 (09/20/06 13:00:00)   12
15  09/20/06  14:00:00 (09/20/06 14:00:00)   14
16  09/20/06  15:00:00 (09/20/06 15:00:00)   15
17  09/20/06  16:00:00 (09/20/06 16:00:00)   15
18  09/20/06  17:00:00 (09/20/06 17:00:00)   17
19  09/20/06  18:00:00 (09/20/06 18:00:00)   18
20  09/20/06  19:00:00 (09/20/06 19:00:00)   18
21  09/20/06  20:00:00 (09/20/06 20:00:00)   20
22  09/20/06  21:00:00 (09/20/06 21:00:00)   21
23  09/20/06  22:00:00 (09/20/06 22:00:00)   21
24  09/20/06  23:00:00 (09/20/06 23:00:00)   23

This behavior is problematic if one wants to extract hours and use them to 
group data.

Regards,

Glen Sargeant



More information about the R-help mailing list