[R] Date_Time detected as Duplicated (but they are not!)

From: Agustin Lobo <Agustin.Lobo_at_ictja.csic.es>
Date: Wed, 18 May 2011 07:53:04 +0200


I have a problem with duplicated date_time stamps that I do not see as duplicated.

I read a file with observations taken every 30 minutes:

> aur2009=read.csv(paste(datadir,"AUR_ECPP_2009.csv",sep="/"),sep=";",stringsAsFactors=F)
> aur2009[1:3,1:5]

      Date.Time E_filled E_filled_flag LE_filled LE_filled_flag
1 1/1/2009 0:00        0           NaN      5.86            NaN
2 1/1/2009 0:30        0           NaN      5.05            NaN
3 1/1/2009 1:00        0           NaN      5.56            NaN

> delme = strptime(aur2009[,1], "%m/%d/%Y %H:%M")
> aur2009[,1]=as.POSIXct(delme)

            Date.Time E_filled E_filled_flag LE_filled LE_filled_flag
1 2009-01-01 00:00:00        0           NaN      5.86            NaN
2 2009-01-01 00:30:00        0           NaN      5.05            NaN
3 2009-01-01 01:00:00        0           NaN      5.56            NaN

> aur2009ts = ts(aur2009)
> row.names(aur2009ts) = as.character(delme)
> aur2009ts[1:3,1:5]

                     Date.Time E_filled E_filled_flag LE_filled LE_filled_flag
2009-01-01 00:00:00 1230764400        0           NaN      5.86            NaN
2009-01-01 00:30:00 1230766200        0           NaN      5.05            NaN
2009-01-01 01:00:00 1230768000        0           NaN      5.56            NaN

Then:
> aur2009z = zoo(aur2009[,2:12],as.POSIXct(delme))
Warning message:
In zoo(aur2009[, 2:12], as.POSIXct(delme)) :   some methods for “zoo” objects do not work if the index entries in ‘order.by’ are not unique

So I investigate:
> any(duplicated(aur2009ts[,1]))

[1] TRUE
> aur2009ts[(duplicated(aur2009ts[,1])),1:5]

                     Date.Time E_filled E_filled_flag LE_filled LE_filled_flag
2009-03-29 02:00:00 1238284800        0           NaN       1.2            NaN
2009-03-29 02:30:00 1238286600        0           NaN       1.2            NaN

But note the surprise:
> aur2009ts[aur2009ts[,1]==1238284800,1:5]

                     Date.Time E_filled E_filled_flag LE_filled LE_filled_flag
2009-03-29 01:00:00 1238284800        0           NaN     -0.58            NaN
2009-03-29 02:00:00 1238284800        0           NaN      1.20            NaN

> aur2009ts[aur2009ts[,1]==1238286600,1:5]

Date.Time E_filled E_filled_flag LE_filled LE_filled_flag 2009-03-29 01:30:00 1238286600 0 NaN -0.34 NaN 2009-03-29 02:30:00 1238286600 0 NaN 1.20 NaN

The dates detected as duplicated are actually different times that got the same value in the ts version of the object! What am I doing wrong? They are all observations every 30min, why are these 2 encoded as the
same time?

Any help appreciated

Agus



R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed 18 May 2011 - 06:49:44 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 18 May 2011 - 07:50:07 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive