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.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para introducir el agrupamiento usando purrr, puedes usar la función map() para aplicar las funciones group_by() y summarise() a cada dataframe anidado. Puedes hacerlo de la siguiente manera:

    library(tidyverse)
    
    mtcars %>%
      group_by(carb, vs, am) %>%
      nest() %>%
      mutate(
        counts = map(data, ~ .x %>% group_by(vs, am) %>% summarise(n = n())),
        proportions = map(counts, ~ .x %>% mutate(freq = prop.table(n)))
      )
    

    Esto agrupa el dataframe mtcars por carb, vs y am, y luego anida los datos para cada combinación de estas variables.

    La función map() se utiliza dos veces en este ejemplo. La primera llamada a map() aplica las funciones group_by() y summarise() a cada dataframe anidado para producir un dataframe con las cuentas para cada combinación de vs y am. Los dataframes resultantes se almacenan en una columna llamada counts.

    La segunda llamada a map() luego aplica la función prop.table() a cada dataframe de counts para producir un dataframe con las proporciones para cada combinación de vs y am. Los dataframes resultantes se almacenan en una columna llamada proportions.

    Ten en cuenta que esto producirá un dataframe anidado con tres columnas: carb, data y proportions. La columna data contiene los dataframes anidados y la columna proportions contiene las proporciones calculadas.

Comments are closed.