varias tabla superponer sturges studio regla poligono histograma graficos graficas frecuencias frecuencia r dplyr

tabla - Arreglo() no trabaja en el marco de datos agrupados



tabla de frecuencias en r (1)

No funciona porque necesita ungroup() los datos antes de organizarlos por cyl . El código que está utilizando intenta ordenar la columna de cyl mientras aún está agrupada por cyl . Dado que esos valores son todos iguales (dentro de cada grupo), nada cambia.

Para organizar todos los datos por cyl tras una clasificación, primero debemos eliminar la agrupación y luego podemos ejecutar de nuevo arrange() .

library(dplyr) group_by(mtcars, cyl) %>% ## group by cylinder mutate(rank = row_number(mpg)) %>% ## rank by mpg filter(rank <= 3) %>% ## top three for each cyl arrange(rank) %>% ## arrange each group by rank ungroup() %>% ## remove grouping arrange(desc(cyl)) ## arrange all by cylinder (descending) # mpg cyl disp hp drat wt qsec vs am gear carb rank # 1 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 1 # 2 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4 2 # 3 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4 3 # 4 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4 1 # 5 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 2 # 6 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 3 # 7 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 1 # 8 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 2 # 9 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 3

Como nota al margen, le recomiendo que considere usar la función %>% para encadenar estas llamadas, ya que reducirá considerablemente las asignaciones realizadas con <- .

Supongamos que tengo el siguiente código. En el último paso, donde intento organizarlo, el código no funciona y la trama de datos continúa en orden ascendente por cyl .

library(dplyr) # create a grouped data frame df <- group_by(mtcars,cyl) # rank car from best mpg to worst for every cyl df <- mutate(df,rank = row_number(mpg)) # top 3 best mpg for each cyl df <- filter(df,rank <= 3) # arrange by the number of cyl df <- arrange(df,desc(cyl), rank)

¿Alguna idea sobre por qué esto está sucediendo?