У меня есть набор данных, df:
В конечном счете, я хотел бы иметь возможность сгруппировать данные в «чанки», где в столбце «Папка» содержится строка «Out», с учетом того, что DATE связано с. Есть ли способ создать чанк для каждого экземпляра, который происходит 'Out', при вычислении его продолжительности.
Folder DATE
Out 9/9/2019 5:46:00
Out 9/9/2019 5:46:01
Out 9/9/2019 5:46:02
In 9/9/2019 5:46:03
In 9/9/2019 5:46:04
Out 9/10/2019 6:00:01
Out 9/10/2019 6:00:02
In 9/11/2019 7:50:00
In 9/11/2019 7:50:01
Я хотел бы этот вывод:
New Variable Duration
Out1 2 sec
Out2 1 sec
Я включил dput:
structure(list(Folder = structure(c(2L, 2L, 2L, 1L, 1L, 2L, 2L,
1L, 1L), .Label = c("In", "Outdata"), class = "factor"), Date = structure(c(3L,
3L, 3L, 3L, 3L, 1L, 1L, 2L, 2L), .Label = c("9/10/2019 6:00",
"9/11/2019 7:50", "9/9/2019 5:46"), class = "factor")), class = "data.frame", row.names = c(NA,
-9L))
То, что я пробовал до сих пор:
#Loading appropriate libraries
library(dplyr)
library(lubridate)
создание новой переменной, которая сначала сгруппирует папку по строке 'Out'
(однако это то, где я не уверен, что делать, потому что я sh создаю новую переменную для каждой группы 'Out' и ее продолжительность, чтобы в конечном итоге отобразить это на гистограмме.)
newdf<-df %>%
group_by(df$Folder) %>%
summarise(mutate(Duration = difftime(as.POSIXct(ss_EndTime, format =
"%m/%d/%Y %I:%M:%S %p"),as.POSIXct(ss_StartTime,
format = "%m/%d/%Y %I:%M:%S %p" ), units = "secs")))
Я буду продолжать исследования, все предложения приветствуются.