es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear otra tibble con tres columnas – activity, start_time y end_time, podemos utilizar las funciones group_by() y summarise() de dplyr. La función group_by() agrupará los datos por la columna de actividad, mientras que la función summarise() creará tres nuevas columnas – activity, start_time y end_time, donde start_time y end_time se calcularán utilizando min() y max() 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 de activity utilizando group_by(). Luego, utilizamos summarise() para crear tres nuevas columnas – activity, start_time y end_time, donde start_time se calcula utilizando min(time) para cada actividad, y end_time se calcula utilizando max(time) para cada actividad.

    El nuevo dataframe new_tbl resultante tendrá tres columnas – activity, start_time y end_time, donde cada fila representará una actividad única con sus tiempos de inicio y finalización correspondientes.

Comments are closed.