[R] Incorrect Conversion of Datetime

Ogbos Okike g||ted|||e2014 @end|ng |rom gm@||@com
Wed Jan 8 12:55:10 CET 2020


Dear Jim,
Thank you for coming my assist me.
I have tried all you suggested but the same result keep coming.
I tried, for example:
dta <- read.table("Ohr1may98", col.names = c("year", "month", "day",
"hour", "counts"))

dta$year <- with( dta, ifelse(year < 50, year + 2000, year + 1900))
dta$date<-strptime(paste(dta$year,dta$month,dta$day,dta$hour),
 "%Y %m %d %H")
a =  dta$date
and obtained:
> a
 [1] "1998-01-05 14:00:00 GMT" "1998-01-05 15:00:00 GMT"
 [3] "1998-01-05 16:00:00 GMT" "1998-01-05 17:00:00 GMT"
 [5] "1998-01-05 18:00:00 GMT" "1998-01-05 19:00:00 GMT"
 [7] "1998-01-05 20:00:00 GMT" "1998-01-05 21:00:00 GMT"
 [9] "1998-01-05 22:00:00 GMT" "1998-01-05 23:00:00 GMT"
[11] "1998-01-06 00:00:00 GMT" "1998-01-06 01:00:00 GMT"
[13] "1998-01-06 02:00:00 GMT" "1998-01-06 03:00:00 GMT"
[15] "1998-01-06 04:00:00 GMT" "1998-01-06 05:00:00 GMT"
[17] "1998-01-06 06:00:00 GMT"

Instead of getting AEST as in your own result, mine remains GMT.

I think the problem is coming from my system or location, I am not sure.

Please have a look again and advise further.

Thank you.

On Wed, Jan 8, 2020 at 11:05 AM Jim Lemon <drjimlemon using gmail.com> wrote:
>
> Hi again,
> Small typo, should be
>
> dta$date<-strptime(paste(dta$year,dta$month,dta$day,dta$hour),
>  "%Y %m %d %H"
>
> as I tried it both with and without the century just to check and
> copied the wrong line.
>
> On Wed, Jan 8, 2020 at 9:03 PM Jim Lemon <drjimlemon using gmail.com> wrote:
> >
> > Hi Ogbos,
> > I get the correct result using strptime:
> >
> > dta$date<-strptime(paste(dta$year,dta$month,dta$day,dta$hour),
> >  "%y %m %d %H"
> > )
> > > dta$date
> > [1] "1998-05-01 02:00:00 AEST" "1998-05-01 03:00:00 AEST"
> > [3] "1998-05-01 04:00:00 AEST" "1998-05-01 05:00:00 AEST"
> > [5] "1998-05-01 06:00:00 AEST" "1998-05-01 07:00:00 AEST"
> > [7] "1998-05-01 08:00:00 AEST" "1998-05-01 09:00:00 AEST"
> > [9] "1998-05-01 10:00:00 AEST" "1998-05-01 11:00:00 AEST"
> > [11] "1998-05-01 12:00:00 AEST" "1998-05-01 13:00:00 AEST"
> > [13] "1998-05-01 14:00:00 AEST" "1998-05-01 15:00:00 AEST"
> > [15] "1998-05-01 16:00:00 AEST" "1998-05-01 17:00:00 AEST"
> > [17] "1998-05-01 18:00:00 AEST" "1998-05-01 19:00:00 AEST"
> > [19] "1998-05-01 20:00:00 AEST" "1998-05-01 21:00:00 AEST"
> > [21] "1998-05-01 22:00:00 AEST" "1998-05-01 23:00:00 AEST"
> > [23] "1998-05-02 00:00:00 AEST" "1998-05-02 01:00:00 AEST"
> > [25] "1998-05-02 02:00:00 AEST" "1998-05-02 03:00:00 AEST"
> > [27] "1998-05-02 04:00:00 AEST" "1998-05-02 05:00:00 AEST"
> > [29] "1998-05-02 06:00:00 AEST"
> >
> > Same result with
> >
> > ISOdatetime(dta$year,dta$month,dta$day,dta$hour,0,0,tz="GMT")
> > as.POSIXct(ISOdatetime(dta$year,dta$month,dta$day,dta$hour,0,0,tz="GMT"))
> >
> > As it should be as the lower two call strptime. I can't see from your
> > code why the month and day are transcribed.
> >
> > Jim



More information about the R-help mailing list