From jeff.a.ryan at gmail.com  Sun Aug  9 18:45:55 2009
From: jeff.a.ryan at gmail.com (Jeff Ryan)
Date: Sun, 9 Aug 2009 11:45:55 -0500
Subject: [Rd] Why is strptime always returning a vector of length 9 ?
In-Reply-To: <971536df0908090835i3b6048a5h961920de644278cb@mail.gmail.com>
References: <1249827638.4877.15.camel@hot-spring>
	<971536df0908090835i3b6048a5h961920de644278cb@mail.gmail.com>
Message-ID: <e8e755250908090945v55c10432xda597826452b301f@mail.gmail.com>

The reason is in the ?strptime under value:

'strptime' turns character representations into an object of class
     '"POSIXlt"'.  The timezone is used to set the 'isdst' component
     and to set the '"tzone"' attribute if 'tz != ""'.

And POSIXlt is a list of length 9.


HTH
Jeff

On Sun, Aug 9, 2009 at 10:35 AM, Gabor
Grothendieck<ggrothendieck at gmail.com> wrote:
> Try this to see its components:
>
>> str(unclass(xd))
> List of 9
> ?$ sec ?: num [1:6] 0 0 0 0 0 0
> ?$ min ?: int [1:6] 0 0 0 0 0 0
> ?$ hour : int [1:6] 0 0 0 0 0 0
> ?$ mday : int [1:6] 9 31 12 12 30 30
> ?$ mon ?: int [1:6] 2 4 10 10 6 6
> ?$ year : int [1:6] 107 107 108 108 109 109
> ?$ wday : int [1:6] 5 4 3 3 4 4
> ?$ yday : int [1:6] 67 150 316 316 210 210
> ?$ isdst: int [1:6] 0 1 0 0 1 1
>
> and read R News 4/1 for more.
>
> On Sun, Aug 9, 2009 at 10:20 AM, laurent<lgautier at gmail.com> wrote:
>> Dear List,
>>
>>
>> I am having an issue with strptime (see below).
>> I can reproduce it on R-2.8, R-2.9, and R-2.10-dev, I tempted to see
>> either a bug or my misunderstanding (and then I just don't currently see
>> where).
>>
>> # setup:
>> x <- c("March 09, 2007", "May 31, 2007", "November 12, 2008", "November
>> 12, 2008", "July 30, 2009", "July 30, 2009" )
>>
>> # showing the problem
>>> length(x)
>> 6
>>> xd <- strptime(x, format = "%B %d, %Y")
>>> length(xd)
>> 9
>>> xd[1:9]
>> [1] "2007-03-09" "2007-05-31" "2008-11-12" "2008-11-12" "2009-07-30"
>> [6] "2009-07-30" NA ? ? ? ? ? NA ? ? ? ? ? NA
>>> length(strptime(rep(x, 2), format="%B %d, %Y"))
>> [1] 9
>>> strptime(rep(x, 2), format="%B %d, %Y")[1:12]
>> ?[1] "2007-03-09" "2007-05-31" "2008-11-12" "2008-11-12" "2009-07-30"
>> ?[6] "2009-07-30" "2007-03-09" "2007-05-31" "2008-11-12" "2008-11-12"
>> [11] "2009-07-30" "2009-07-30
>>
>> Any pointer would be appreciated.
>>
>>
>>
>> L.
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Jeffrey Ryan
jeffrey.ryan at insightalgo.com

ia: insight algorithmics
www.insightalgo.com



[Rd] Why is strptime always returning a vector of length 9 ?
Jeff Ryan