Скажем, у меня есть данные о состоянии из нескольких сборок, которые сообщают о различных аварийных сигналах во время их получения:
build <- c(rep(11243, 6), rep(12640, 4))
message <- c(rep("High Temp", 2), rep("No Alarm", 2), rep("High Temp", 2),
"Low Temp", rep("No Alarm", 2), "High Temp")
timeEntered <- c("2018-06-04 08:00:00", "2018-06-04 09:00:00", "2018-06-05
08:00:00", "2018-06-06 08:00:00", "2018-06-06 09:00:00", "2018-06-07 08:08:00",
"2017-05-23 12:45:00", "2017-05-23 13:00:00", "2017-05-24 12:30:00", "2017-05-24 12:45:00")
data <- data.frame(build, message,
timeEntered = as.POSIXct(timeEntered, format = "%Y-%m-%d %H:%M:%S"))
Выход:
build message timeEntered
11243 High Temp 2018-06-04 08:00:00
11243 High Temp 2018-06-04 09:00:00
11243 No Alarm 2018-06-05 08:00:00
11243 No Alarm 2018-06-06 08:00:00
11243 High Temp 2018-06-06 09:00:00
11243 High Temp 2018-06-07 08:08:00
12640 Low Temp 2017-05-23 12:45:00
12640 No Alarm 2017-05-23 13:00:00
12640 No Alarm 2017-05-24 12:30:00
12640 High Temp 2017-05-24 12:45:00
Я рассчитываю получить минимальное время для каждого типа сообщений при сборке, сохраняя порядок получения сообщений. Например, моей конечной целью было бы иметь фрейм данных, подобный этому:
Выход:
build message timeEntered
11243 High Temp 2018-06-04 08:00:00
11243 No Alarm 2018-06-05 08:00:00
11243 High Temp 2018-06-06 09:00:00
12640 Low Temp 2017-05-23 12:45:00
12640 No Alarm 2017-05-23 13:00:00
12640 High Temp 2017-05-24 12:45:00
Спасибо, раньше времени ...