[R] Re sults sometimes in seconds with difftime unit=mins

2009-03-27 Thread Ptit_Bleu

Hello,

I'm trying to calculate an integration and x-axis is a time (format :
%Y-%m-%d %H:%M:%S).
I use diff(date, units=mins) in a loop for but sometimes the results stay
in seconds (95% is ok).

Examples for 2 sets of data are given below (first result stays in seconds
whereas the second in minutes as expected).
Have you already seen this behaviour ?
Any idea to solve this problem ?

Thanks in advance.
Have a good week-end,
Ptit Bleu. 


 strptime(datajour$Date, format=%Y-%m-%d %H:%M:%S)
 [1] 2009-03-26 11:21:31 2009-03-26 11:22:17 2009-03-26 11:27:18
2009-03-26 11:36:59 2009-03-26 11:41:59 2009-03-26 11:46:59
 [7] 2009-03-26 11:51:59 2009-03-26 11:57:00 2009-03-26 12:02:00
2009-03-26 12:07:00 2009-03-26 12:12:00 2009-03-26 12:17:00
[13] 2009-03-26 12:22:00 2009-03-26 12:27:01 2009-03-26 12:32:01
2009-03-26 12:37:01 2009-03-26 12:42:01 2009-03-26 12:47:01
[19] 2009-03-26 12:52:01 2009-03-26 12:57:01 2009-03-26 13:02:02
2009-03-26 13:07:02 2009-03-26 13:12:03 2009-03-26 13:17:03
[25] 2009-03-26 13:22:03 2009-03-26 13:27:03 2009-03-26 13:32:03
2009-03-26 13:37:03 2009-03-26 13:42:03 2009-03-26 13:47:03
[31] 2009-03-26 13:52:03 2009-03-26 13:57:04 2009-03-26 14:01:02
2009-03-26 14:06:05 2009-03-26 14:11:05 2009-03-26 14:16:06
[37] 2009-03-26 14:21:06 2009-03-26 14:26:08 2009-03-26 14:31:09
2009-03-26 14:36:10 2009-03-26 14:41:10 2009-03-26 14:46:15
[43] 2009-03-26 14:51:15 2009-03-26 14:56:15 2009-03-26 15:01:15
2009-03-26 15:06:17 2009-03-26 15:11:17 2009-03-26 15:16:19
[49] 2009-03-26 15:21:19 2009-03-26 15:26:19 2009-03-26 15:31:22
2009-03-26 15:36:23 2009-03-26 15:41:24 2009-03-26 15:46:24
[55] 2009-03-26 15:51:25 2009-03-26 15:56:25 2009-03-26 16:01:25
2009-03-26 16:06:26 2009-03-26 16:11:26 2009-03-26 16:16:26
[61] 2009-03-26 16:21:27 2009-03-26 16:26:27 2009-03-26 16:31:28
2009-03-26 16:36:28 2009-03-26 16:41:29 2009-03-26 16:46:30
[67] 2009-03-26 16:51:31 2009-03-26 16:56:31 2009-03-26 17:01:32
2009-03-26 17:06:32 2009-03-26 17:11:33 2009-03-26 17:16:33
[73] 2009-03-26 17:21:33 2009-03-26 17:26:35 2009-03-26 17:31:36
2009-03-26 17:36:36 2009-03-26 17:41:36 2009-03-26 17:46:36
[79] 2009-03-26 17:51:39 2009-03-26 17:56:40 2009-03-26 18:01:40
2009-03-26 18:06:40 2009-03-26 18:11:40 2009-03-26 18:16:40
[85] 2009-03-26 18:21:41 2009-03-26 18:26:41 2009-03-26 18:31:41
2009-03-26 18:36:41 2009-03-26 18:41:41 2009-03-26 18:46:41
[91] 2009-03-26 18:51:42 2009-03-26 18:56:42 2009-03-26 19:06:42
 
 as.numeric(diff(strptime(datajour$Date, format=%Y-%m-%d %H:%M:%S),
 units=mins))
 [1]  46 301 581 300 300 300 301 300 300 300 300 300 301 300 300 300 300 300
300 301 300 301 300 300 300 300 300 300 300 300 301 238 303 300 301 300 302
301
[39] 301 300 305 300 300 300 302 300 302 300 300 303 301 301 300 301 300 300
301 300 300 301 300 301 300 301 301 301 300 301 300 301 300 300 302 301 300
300
[77] 300 303 301 300 300 300 300 301 300 300 300 300 300 301 300 600


 strptime(datajour$Date, format=%Y-%m-%d %H:%M:%S)
 [1] 2009-03-26 11:22:24 2009-03-26 11:27:25 2009-03-26 11:37:04
2009-03-26 11:42:04 2009-03-26 11:47:04 2009-03-26 11:52:04
 [7] 2009-03-26 11:57:04 2009-03-26 12:02:05 2009-03-26 12:07:06
2009-03-26 12:12:06 2009-03-26 12:17:06 2009-03-26 12:22:06
[13] 2009-03-26 12:27:07 2009-03-26 12:32:07 2009-03-26 12:37:07
2009-03-26 12:42:07 2009-03-26 12:47:07 2009-03-26 12:52:08
[19] 2009-03-26 12:57:08 2009-03-26 13:02:08 2009-03-26 13:07:09
2009-03-26 13:12:09 2009-03-26 13:17:09 2009-03-26 13:22:09
[25] 2009-03-26 13:27:09 2009-03-26 13:32:09 2009-03-26 13:37:09
2009-03-26 13:42:09 2009-03-26 13:47:09 2009-03-26 13:52:09
[31] 2009-03-26 13:57:10 2009-03-26 14:01:08 2009-03-26 14:06:11
2009-03-26 14:11:11 2009-03-26 14:16:12 2009-03-26 14:21:12
[37] 2009-03-26 14:26:15 2009-03-26 14:31:18 2009-03-26 14:36:18
2009-03-26 14:41:19 2009-03-26 14:46:22 2009-03-26 14:51:22
[43] 2009-03-26 14:56:23 2009-03-26 15:01:24 2009-03-26 15:06:24
2009-03-26 15:11:24 2009-03-26 15:16:24 2009-03-26 15:21:24
[49] 2009-03-26 15:26:24 2009-03-26 15:31:28 2009-03-26 15:36:29
2009-03-26 15:41:29 2009-03-26 15:46:30 2009-03-26 15:51:33
[55] 2009-03-26 15:56:33 2009-03-26 16:01:33 2009-03-26 16:06:33
2009-03-26 16:11:34 2009-03-26 16:16:34 2009-03-26 16:21:35
[61] 2009-03-26 16:26:35 2009-03-26 16:31:35 2009-03-26 16:36:35
2009-03-26 16:41:35 2009-03-26 16:46:36 2009-03-26 16:51:37
[67] 2009-03-26 16:56:37 2009-03-26 17:01:37 2009-03-26 17:06:38
2009-03-26 17:11:38 2009-03-26 17:16:38 2009-03-26 17:21:38
[73] 2009-03-26 17:26:40 2009-03-26 17:31:43 2009-03-26 17:36:43
2009-03-26 17:41:43 2009-03-26 17:46:44 2009-03-26 17:51:45
[79] 2009-03-26 17:56:46 2009-03-26 18:01:46 2009-03-26 18:06:46
2009-03-26 18:11:47 2009-03-26 18:16:47 2009-03-26 18:21:48
[85] 2009-03-26 18:26:48 2009-03-26 18:31:48 2009-03-26 18:36:48
2009-03-26 18:41:48 2009-03-26 18:46:48 2009-03-26 18:51:48
[91] 2009-03-26 

Re: [R] Re sults sometimes in seconds with difftime unit=mins

2009-03-27 Thread jim holtman
I think the problem is is that 'diff' does not have a 'units'
parameter; 'difftime' does.  Here is a way of doing it:

 x
 [1] 2009-03-27 13:00:00 EDT 2009-03-27 13:00:35 EDT 2009-03-27
13:01:10 EDT 2009-03-27 13:01:45 EDT 2009-03-27 13:02:20 EDT
2009-03-27 13:02:55 EDT 2009-03-27 13:03:30 EDT
 [8] 2009-03-27 13:04:05 EDT 2009-03-27 13:04:40 EDT 2009-03-27
13:05:15 EDT
 difftime(tail(x, -1), head(x, -1), units='mins')
Time differences in mins
[1] 0.583 0.583 0.583 0.583 0.583 0.583
0.583 0.583 0.583
attr(,tzone)
[1] 
 diff(x, units='mins')  # 'units' ignored
Time differences in secs
[1] 35 35 35 35 35 35 35 35 35
attr(,tzone)
[1] 



On Fri, Mar 27, 2009 at 11:04 AM, Ptit_Bleu ptit_b...@yahoo.fr wrote:

 Hello,

 I'm trying to calculate an integration and x-axis is a time (format :
 %Y-%m-%d %H:%M:%S).
 I use diff(date, units=mins) in a loop for but sometimes the results stay
 in seconds (95% is ok).

 Examples for 2 sets of data are given below (first result stays in seconds
 whereas the second in minutes as expected).
 Have you already seen this behaviour ?
 Any idea to solve this problem ?

 Thanks in advance.
 Have a good week-end,
 Ptit Bleu.

 
 strptime(datajour$Date, format=%Y-%m-%d %H:%M:%S)
  [1] 2009-03-26 11:21:31 2009-03-26 11:22:17 2009-03-26 11:27:18
 2009-03-26 11:36:59 2009-03-26 11:41:59 2009-03-26 11:46:59
  [7] 2009-03-26 11:51:59 2009-03-26 11:57:00 2009-03-26 12:02:00
 2009-03-26 12:07:00 2009-03-26 12:12:00 2009-03-26 12:17:00
 [13] 2009-03-26 12:22:00 2009-03-26 12:27:01 2009-03-26 12:32:01
 2009-03-26 12:37:01 2009-03-26 12:42:01 2009-03-26 12:47:01
 [19] 2009-03-26 12:52:01 2009-03-26 12:57:01 2009-03-26 13:02:02
 2009-03-26 13:07:02 2009-03-26 13:12:03 2009-03-26 13:17:03
 [25] 2009-03-26 13:22:03 2009-03-26 13:27:03 2009-03-26 13:32:03
 2009-03-26 13:37:03 2009-03-26 13:42:03 2009-03-26 13:47:03
 [31] 2009-03-26 13:52:03 2009-03-26 13:57:04 2009-03-26 14:01:02
 2009-03-26 14:06:05 2009-03-26 14:11:05 2009-03-26 14:16:06
 [37] 2009-03-26 14:21:06 2009-03-26 14:26:08 2009-03-26 14:31:09
 2009-03-26 14:36:10 2009-03-26 14:41:10 2009-03-26 14:46:15
 [43] 2009-03-26 14:51:15 2009-03-26 14:56:15 2009-03-26 15:01:15
 2009-03-26 15:06:17 2009-03-26 15:11:17 2009-03-26 15:16:19
 [49] 2009-03-26 15:21:19 2009-03-26 15:26:19 2009-03-26 15:31:22
 2009-03-26 15:36:23 2009-03-26 15:41:24 2009-03-26 15:46:24
 [55] 2009-03-26 15:51:25 2009-03-26 15:56:25 2009-03-26 16:01:25
 2009-03-26 16:06:26 2009-03-26 16:11:26 2009-03-26 16:16:26
 [61] 2009-03-26 16:21:27 2009-03-26 16:26:27 2009-03-26 16:31:28
 2009-03-26 16:36:28 2009-03-26 16:41:29 2009-03-26 16:46:30
 [67] 2009-03-26 16:51:31 2009-03-26 16:56:31 2009-03-26 17:01:32
 2009-03-26 17:06:32 2009-03-26 17:11:33 2009-03-26 17:16:33
 [73] 2009-03-26 17:21:33 2009-03-26 17:26:35 2009-03-26 17:31:36
 2009-03-26 17:36:36 2009-03-26 17:41:36 2009-03-26 17:46:36
 [79] 2009-03-26 17:51:39 2009-03-26 17:56:40 2009-03-26 18:01:40
 2009-03-26 18:06:40 2009-03-26 18:11:40 2009-03-26 18:16:40
 [85] 2009-03-26 18:21:41 2009-03-26 18:26:41 2009-03-26 18:31:41
 2009-03-26 18:36:41 2009-03-26 18:41:41 2009-03-26 18:46:41
 [91] 2009-03-26 18:51:42 2009-03-26 18:56:42 2009-03-26 19:06:42

 as.numeric(diff(strptime(datajour$Date, format=%Y-%m-%d %H:%M:%S),
 units=mins))
  [1]  46 301 581 300 300 300 301 300 300 300 300 300 301 300 300 300 300 300
 300 301 300 301 300 300 300 300 300 300 300 300 301 238 303 300 301 300 302
 301
 [39] 301 300 305 300 300 300 302 300 302 300 300 303 301 301 300 301 300 300
 301 300 300 301 300 301 300 301 301 301 300 301 300 301 300 300 302 301 300
 300
 [77] 300 303 301 300 300 300 300 301 300 300 300 300 300 301 300 600

 
 strptime(datajour$Date, format=%Y-%m-%d %H:%M:%S)
  [1] 2009-03-26 11:22:24 2009-03-26 11:27:25 2009-03-26 11:37:04
 2009-03-26 11:42:04 2009-03-26 11:47:04 2009-03-26 11:52:04
  [7] 2009-03-26 11:57:04 2009-03-26 12:02:05 2009-03-26 12:07:06
 2009-03-26 12:12:06 2009-03-26 12:17:06 2009-03-26 12:22:06
 [13] 2009-03-26 12:27:07 2009-03-26 12:32:07 2009-03-26 12:37:07
 2009-03-26 12:42:07 2009-03-26 12:47:07 2009-03-26 12:52:08
 [19] 2009-03-26 12:57:08 2009-03-26 13:02:08 2009-03-26 13:07:09
 2009-03-26 13:12:09 2009-03-26 13:17:09 2009-03-26 13:22:09
 [25] 2009-03-26 13:27:09 2009-03-26 13:32:09 2009-03-26 13:37:09
 2009-03-26 13:42:09 2009-03-26 13:47:09 2009-03-26 13:52:09
 [31] 2009-03-26 13:57:10 2009-03-26 14:01:08 2009-03-26 14:06:11
 2009-03-26 14:11:11 2009-03-26 14:16:12 2009-03-26 14:21:12
 [37] 2009-03-26 14:26:15 2009-03-26 14:31:18 2009-03-26 14:36:18
 2009-03-26 14:41:19 2009-03-26 14:46:22 2009-03-26 14:51:22
 [43] 2009-03-26 14:56:23 2009-03-26 15:01:24 2009-03-26 15:06:24
 2009-03-26 15:11:24 2009-03-26 15:16:24 2009-03-26 15:21:24
 [49] 2009-03-26 15:26:24 2009-03-26 15:31:28 2009-03-26 15:36:29
 2009-03-26