Extract time and state of charge (Start and End) and Count
Thank you so much Avi, Rui and Jim...really appreciate your help.
I am so sorry for not able to make it clearly.
This is the expected output:
Hour Starting_SoC_of_12 Ending_SoC_of_12 frequency
0 0 12
603
1 1 12
136
dt <- dt3[which(dt3$Year==2014),]
head(dt); tail(dt)
dput(dt[1:5000,])
cols <- c("BatteryChargeStartDate", "BatteryChargeStopDate")
dt[cols] <- lapply(dt[cols], \(x) sub("\n", " ", x))
# use package lubridate to coerce to a datetime class
dt[cols] <- lapply(dt[cols], lubridate::dmy_hm)
h <- lubridate::hour(dt[["BatteryChargeStartDate"]])
aggregate(Starting_SoC_of_12 ~ h, dt, length)
Expected output:
Hour Starting_SoC_of_12 Ending_SoC_of_12 frequency
0 0 12 603
1 1 12 136
On Mon, Jul 18, 2022 at 12:04 PM roslinazairimah zakaria <
roslinaump at 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 at gmail.com <roslinaump at gmail.com>*
University Malaysia Pahang
Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia
*Roslinazairimah Zakaria* *Tel: +609-5492370; Fax. No.+609-5492766* *Email: roslinazairimah at ump.edu.my <roslinazairimah at ump.edu.my>; roslinaump at gmail.com <roslinaump at gmail.com>* Faculty of Industrial Sciences & Technology University Malaysia Pahang Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia [[alternative HTML version deleted]]