[R] Strptime/ date time classes
    Caroline Keef 
    caroline.keef at jbaconsulting.co.uk
       
    Wed Jul  9 12:09:49 CEST 2008
    
    
  
Dear all,
I've come across a problem using strptime, can anyone explain what's
going on?  I'm using version 2.7.0 on Windows XP.
Thank you
Caroline
First read in a data file using read.table
alldata = read.table(file, header=F, skip=4, colClasses =
c("character","numeric"))
dim(alldata)
[1] 223960      2
# inefficient, safe way of sorting out missing or dodgy data
alldata[,2][alldata[,2] < 0] = NA
# first ten lines of the data
 alldata[1:10,]
               V1    V2
1  19800604062759    NA
2  19800604062800 0.271
3  19800604111900 0.286
4  19800604134300 0.362
5  19800604144400 0.465
6  19800604163300 0.510
7  19800604175400 0.518
8  19800604185100 0.526
9  19800611110900    NA
10 19800611110959    NA
#Then convert the first column using strptime
datetimes = strptime(alldata[,1],format="%Y%m%d%H%M%S")
  
#Then I want to get minimum and maximum, but some seem to be missing
when they aren't.
length(as.POSIXlt(datetimes))  #also equal to length(datetimes)
[1] 9
  
# Why isn't this 223960?  Is it something to do with the class?
# This is the really puzzling bit (to me anyway)
a =(1:223960)[is.na(datetimes)]
# which gives 
1462  14295  18744  50499  50500  92472  92473  92474  92475  92476
137525 137526 137527 171066 171067 192353
# 16 values
 alldata[a,]
                   V1    V2
1462   19810329012000 0.983
14295  19900325014300 0.219
18744  19920329014300 0.246
50499  19960331013000 0.564
50500  19960331015700 0.563
92472  19970330010200 0.173
92473  19970330011400 0.172
92474  19970330012700 0.172
92475  19970330014400 0.172
92476  19970330015500 0.172
137525 19980329011600 0.427
137526 19980329014100 0.427
137527 19980329015600 0.427
171066 19990328010300 0.223
171067 19990328011800 0.223
192353 20000326012800 0.189
 datetimes[a]
 [1] "1981-03-29 01:20:00" "1990-03-25 01:43:00" "1992-03-29 01:43:00"
"1996-03-31 01:30:00" "1996-03-31 01:57:00"  [6] "1997-03-30 01:02:00"
"1997-03-30 01:14:00" "1997-03-30 01:27:00" "1997-03-30 01:44:00"
"1997-03-30 01:55:00" [11] "1998-03-29 01:16:00" "1998-03-29 01:41:00"
"1998-03-29 01:56:00" "1999-03-28 01:03:00" "1999-03-28 01:18:00" [16]
"2000-03-26 01:28:00"
# They're all around the end of March!  I've looked at the data file and
I can't see anything funny in it around these dates.
The first few lines of the data file look like
#TZUTC+0|*|SANR08002|*|SNAMENAUL|*|SWATERDELVIN|*|CNR98808|*|
#CNAMEQ|*|CTYPEn-min-ip|*|CMW1440|*|RTIMELVLhigh-resolution|*|
#CUNITm3/s|*|RINVAL-777|*|RNR-1|*|REXCHANGE98913|*|
#RTYPEinstantaneous values|*|
19800604062759 -777.0  
19800604062800 0.271  
19800604111900 0.286  
19800604134300 0.362  
19800604144400 0.465  
19800604163300 0.510  
19800604175400 0.518  
19800604185100 0.526  
19800611110900 -777.0  
19800611110959 -777.0  
19800611111000 0.100  
19800611211400 0.096  
19800612000000 0.096  
19800612065000 0.098  
19800612133400 0.100  
Caroline KeefJBA Consulting
South Barn, Broughton Hall, Skipton, North Yorkshire, BD23 3AE, UK
t: +44 (0)1756 799919  f: +44 (0)1756 799449  
JBA Consulting now incorporates Maslen Environmental, the award winning environmental regeneration consultancy. http://www.maslen-environmental.com. 
JBA is a Carbon Neutral Company. Please don't print this e-mail unless you really need to. 
This email is covered by JBA Consulting's email disclaimer at www.jbaconsulting.co.uk/emaildisclaimer.
    
    
More information about the R-help
mailing list