Я пытаюсь определить способность 10 различных инструментов реагировать на события.Данные для одного из инструментов здесь .Также в приведенной выше ссылке (файл excel под названием «peak times.xlsx») перечислены события, которые произошли в течение месяца.Как видно из приведенного выше, у меня есть данные в 30 различных файлах .csv для каждого проверенного дня.То, что я пытаюсь сделать, это взять известные пики и поднастроить мои данные, чтобы в конечном итоге определить время, которое требуется с момента начала события до пикового значения PM2.5, чтобы сравнить время отклика прибора.Хотя я все еще пытаюсь определить наилучший способ сделать это, у меня сначала возникли вопросы о том, как эффективно подгруппировать мои известные события.Проблема заключается в том, что события, которые я пытаюсь поднастроить, происходят в разные промежутки времени, а часы на приборе записывались не точно с указанными интервалами (см., Например, ниже)
AirQualityEgg_HOMEChemKitchen_20180605_R0.csv.csv$Timestamp[c(169:180)]
[1] 06/05/2018 02:48:03 06/05/2018 02:49:02 06/05/2018 02:50:02
06/05/2018 02:51:02
[5] 06/05/2018 02:52:02 06/05/2018 02:53:02 06/05/2018 02:54:02
06/05/2018 02:55:02
[9] 06/05/2018 02:56:02 06/05/2018 02:57:02 06/05/2018 02:58:02
06/05/2018 02:59:03
Посколькувременные интервалы в данных не являются четными, а события не являются четными, единственный способ, которым я мог определить, как подмножество моих данных по событию, было сделать это вручную.Примечание: мне нужно сохранять время записанным, как есть, потому что цель состоит в том, чтобы определить, насколько хорошо прибор работает, когда происходит событие, и часы на приборе являются частью оценки.
Ниже приведено то, что я сделал для подмножества.Из-за количества событий, а также количества инструментов у меня получилось более 600 строк кода.Другие инструменты, которые я записываю на разных временных шкалах (некоторые с интервалом в 1 секунду, другие с интервалом в 80 секунд и т. Д.). Есть ли способ эффективно подгруппировать данные событиями, чтобы я мог использовать поднастроенные данные, чтобы затем оценить пиковое время отклика?
##import libraries
library(readxl)
library(readr)
library(data.table)
#find working directory
setwd()
getwd()
#import csvs
temp = list.files(pattern="*.csv")
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))
#AQE Kitchen data
#stove
AQE_K_Stove_A<-
AirQualityEgg_HOMEChemKitchen_20180606_R0.csv.csv[c(511:527),]
AQE_K_Stove_B<-
AirQualityEgg_HOMEChemKitchen_20180606_R0.csv.csv[c(720:759),]
AQE_K_Stove_C<-
AirQualityEgg_HOMEChemKitchen_20180606_R0.csv.csv[c(934:961),]
.
.
.
#window
AQE_K_Window_A<-
AirQualityEgg_HOMEChemKitchen_20180604_R0.csv.csv[c(485:501),]
AQE_K_Window_B<-
AirQualityEgg_HOMEChemKitchen_20180604_R0.csv.csv[c(605:636),]
AQE_K_Window_C<-
AirQualityEgg_HOMEChemKitchen_20180604_R0.csv.csv[c(725:755),]
.
.
.
#Lasagna
AQE_K_Las_A<-
AirQualityEgg_HOMEChemKitchen_20180608_R0.csv.csv[c(932:1002),]
#Toast
AQE_K_Toast_A<-
AirQualityEgg_HOMEChemKitchen_20180608_R0.csv.csv[c(525:531),]
AQE_K_Toast_B<-
AirQualityEgg_HOMEChemKitchen_20180608_R0.csv.csv[c(901:905),]
AQE_K_Toast_C<-
AirQualityEgg_HOMEChemKitchen_20180618_R0.csv.csv[c(570:577),]
.
.
.
В конце концов я хотел бы сгенерировать таблицу с дельтой t для каждого события для каждого инструмента, а затем усреднить их по типу события.Но сначала я просто хочу посмотреть, есть ли более эффективный способ сделать то, что я уже сделал, чтобы подготовиться к предстоящему анализу этих событий.
Редактировать: я жестко закодировал события, взяввремя, когда произошло событие (с точностью до минуты) и указывает в таблице данных, где это соответствует указанное время.Я бы продлил время окончания на пару пунктов, чтобы обеспечить захват пика.Данные можно найти в приведенном выше файле "пиковый
Time of stove on to stove off:
A- 6/6 8:35 - 8:51 Stir fry (cast iron pan)
B- 6/6 12:05 - 12:43 Stir fry (hot plate, cast iron pan)
C- 6/6 3:39 - 4:05 Stir fry (cast iron pan)
D- 6/6 9:05 - 9:21 Stir fry (cast iron pan)
E- 6/8 8:35 - 8:50 Breakfast (cast iron pan)
F- 6/8 11:35 - 11:56 Stir fry (cast iron pan)
G- 6/12 8:35 - 9:25 Stir fry (hot plate, wok)
H- 6/12 12:35 - 1:21 Stir fry (cast iron pan)
I- 6/12 4:35 - 5:16 Stir fry (wok)
J- 6/12 8:35 - 9:14 Stir fry (wok)
.
.
.
Time of windows open:
A- 6/4 8:05- 8:20 am
B- 6/4 10:05- 10:35 am
C- 6/4 12:05 - 12:35pm
D- 6/4 2:05- 2:35pm
E- 6/4 4:05- 4:35 pm
.
.
.
Lasagna
A- 6/08 3:37-4:46 pm
Toast
A-6/08 8:50-8:54 am
B- 6/08 3:06 - 3:08 pm
C- 6/18 9:35 -9:40 am
.
.
.
. Всего имеется 23 события кулинарии, 29 событий окна, 1 лазанья и 11 событий тоста.