[R] Extract time and state of charge (Start and End) and Count

roslinazairimah zakaria ro@||n@ump @end|ng |rom gm@||@com
Tue Jul 19 09:22:06 CEST 2022


Jim,

Thank you so much!

On Tue, Jul 19, 2022 at 3:05 PM Jim Lemon <drjimlemon using gmail.com> wrote:

> Hi Roslina,
> The following gives you the state of charge for the vehicle in your
> example data for each hour. This is approximate as your times are not
> on even hours.
>
> # get the temporal order of observations
>
> obs_order<-order(c(as.numeric(dt_2014$bc_start),as.numeric(dt_2014$bc_stop)))
>
> numeric_time<-c(as.numeric(dt_2014$bc_start),as.numeric(dt_2014$bc_stop))[obs_order]
> nobs<-diff(range(numeric_time))/3600
> # find the linear approximation of charge state by hours
> hourly_SoC<-approx(numeric_time,
>  c(dt_2014$Starting_SoC_of_12,dt_2014$Ending_SoC_of_12)[obs_order],n=nobs)
>
> To get the POSIX times:
>
> hourly_POSIX<-seq(dt_2014$bc_start[1],dt_2014$bc_stop,length.out=nobs)
>
> That will fill part of your table. If you want the state of charge by
> hour regardless of day, you'll have to create a new "hour" variable
> from, hourly_POSIX, then:
>
> mean_charge_by_hour<-by(hourly_SoC$hour,hourly_SoC$y,mean) #untested
> since I don't know whether you want this
>
> Jim
>
> On Mon, Jul 18, 2022 at 2:04 PM roslinazairimah zakaria
> <roslinaump using gmail.com> wrote:
> >
> > Dear all,
> >
> > I have data of Battery Electric vehicle (BEV). I would like to extract
> data
> > from every hour starting from 0.00 to 0.59, 1:00-1:59 for SOC(state of
> > charge) start to end.
> >
> > Some examples:
> > I can extract data from SOC=0 and SOC=12
> > dt_2014[which(dt_2014$Starting_SoC_of_12==0 &
> > dt_2014$Ending_SoC_of_12==12),]
> >
> > I can extract data from SOC=1 and SOC=12
> > dt_2014[which(dt_2014$Starting_SoC_of_12==1 &
> > dt_2014$Ending_SoC_of_12==12),]
> >
> > and I would like to further categorise the data by hour and count how
> many
> > cars from 0 state charge to 12 state charge at in that particular hour.
> >
> > Thank you so much for any help given.
> >
> > Some data
> > > dput(dt_2014[1:10,])
> > structure(list(ï..CarID = c("GC10", "GC10", "GC10", "GC10", "GC10",
> > "GC10", "GC10", "GC10", "GC10", "GC10"), BatteryChargeStartDate =
> > c("16/2/2014 16:05",
> > "16/2/2014 18:20", "17/2/2014 8:10", "18/2/2014 7:41", "18/2/2014 15:36",
> > "18/2/2014 16:36", "18/2/2014 21:26", "19/2/2014 8:57", "19/2/2014
> 21:08",
> > "20/2/2014 18:11"), BCStartTime = c("16:05", "18:20", "8:10",
> > "7:41", "15:36", "16:36", "21:26", "8:57", "21:08", "18:11"),
> >     Year = c(2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L,
> >     2014L, 2014L, 2014L), Month = c(2L, 2L, 2L, 2L, 2L, 2L, 2L,
> >     2L, 2L, 2L), Day = c(16L, 16L, 17L, 18L, 18L, 18L, 18L, 19L,
> >     19L, 20L), BatteryChargeStopDate = c("16/2/2014 17:05", "16/2/2014
> > 19:00",
> >     "17/2/2014 15:57", "18/2/2014 9:52", "18/2/2014 15:39", "18/2/2014
> > 17:36",
> >     "19/2/2014 1:55", "19/2/2014 14:25", "20/2/2014 5:17", "20/2/2014
> 23:20"
> >     ), BCStopTime = c("17:05", "19:00", "15:57", "9:52", "15:39",
> >     "17:36", "1:55", "14:25", "5:17", "23:20"), Year2 = c(2014L,
> >     2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L
> >     ), Month2 = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), Day2 = c(16L,
> >     16L, 17L, 18L, 18L, 18L, 19L, 19L, 20L, 20L), Starting_SoC_of_12 =
> > c(1L,
> >     2L, 4L, 5L, 4L, 2L, 8L, 8L, 4L, 8L), Ending_SoC_of_12 = c(11L,
> >     11L, 12L, 8L, 4L, 10L, 12L, 12L, 12L, 12L)), row.names = c(NA,
> > 10L), class = "data.frame")
> >
> >
> > --
> > *Roslinazairimah Zakaria*
> > *Tel: +609-5492370; Fax. No.+609-5492766*
> >
> > *Email: roslinaump using gmail.com <roslinaump using gmail.com>*
> > University Malaysia Pahang
> > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > 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.
>


-- 
*Roslinazairimah Zakaria*
*Tel: +609-5492370; Fax. No.+609-5492766*

*Email: roslinazairimah using ump.edu.my <roslinazairimah using ump.edu.my>;
roslinaump using gmail.com <roslinaump using gmail.com>*
Faculty of Industrial Sciences & Technology
University Malaysia Pahang
Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia

	[[alternative HTML version deleted]]



More information about the R-help mailing list