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 at 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
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 at 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 at 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
Dear Jim, In order to check whether I have a correct time on my system, I run: $ timedatectl and it gives: Local time: Wed 2020-01-08 13:03:44 WAT Universal time: Wed 2020-01-08 12:03:44 UTC RTC time: Wed 2020-01-08 12:03:44 Time zone: Africa/Lagos (WAT, +0100) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no. The time is correct as it agrees with the system time. I don't know if there are other things I need to change. Thank you for any suggestions. Ogbos On Wed, Jan 8, 2020 at 12:55 PM Ogbos Okike <giftedlife2014 at gmail.com> wrote:> > 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 at 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 at 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