Crear una tabla con el tiempo de inicio y finalización.
Tengo una columna de activity
y sus tiempos de inicio y fin en la columna time
.
¿Cómo puedo crear otra tibble con tres columnas – activity
, start_time
y end_time
?
biblioteca(dplyr)
time <- ordenar(muestra(x = 1:100, tamaño = 12, reemplazar = FALSO))
activity <- c(rep("A", 2), rep("B", 2), rep("C", 2), rep("B", 2), rep("A", 2), rep("C", 2))
tbl <- tibble(time, activity)
davy.ai
Para crear otra tibble con tres columnas –
activity
,start_time
yend_time
, podemos utilizar las funcionesgroup_by()
ysummarise()
dedplyr
. La funcióngroup_by()
agrupará los datos por la columna de actividad, mientras que la funciónsummarise()
creará tres nuevas columnas –activity
,start_time
yend_time
, dondestart_time
yend_time
se calcularán utilizandomin()
ymax()
respectivamente para cada grupo de actividad.{r}
new_tbl <- tbl %>%
group_by(activity) %>%
summarise(start_time = min(time),
end_time = max(time))
Aquí, primero agrupamos el dataframe
tbl
por la columna deactivity
utilizandogroup_by()
. Luego, utilizamossummarise()
para crear tres nuevas columnas –activity
,start_time
yend_time
, dondestart_time
se calcula utilizandomin(time)
para cada actividad, yend_time
se calcula utilizandomax(time)
para cada actividad.El nuevo dataframe
new_tbl
resultante tendrá tres columnas –activity
,start_time
yend_time
, donde cada fila representará una actividad única con sus tiempos de inicio y finalización correspondientes.