Возникли проблемы с reorder_within (ggplot2) - PullRequest
1 голос
/ 11 июля 2019

У меня есть проблема. Я хочу разделить мои данные, используя переменную 'region' в моем наборе мелких данных, и изменить порядок на 'andel'. Я пытался использовать reorder_within (tidytext), и он правильно упорядочивает столбцы, но в каждом аспекте я получаю каждый тиковый ярлык в наборе данных, всего 18, хотя у меня только шесть наблюдений на группу. Что мне здесь не хватает?

Помощь будет очень признателен.

Это мои данные.

region               FodelseLandNamn             n  andel
 1 Skåne län            Sydost-Asien             2223 0.0954
 2 Skåne län            Södra Europa             3188 0.137 
 3 Skåne län            Södra och Central-Asien  2353 0.101 
 4 Skåne län            Västra Asien             9037 0.388 
 5 Skåne län            Östra Afrika             1148 0.0493
 6 Skåne län            Östra Europa             2017 0.0866
 7 Stockholms län       Syd-Amerika              3391 0.0767
 8 Stockholms län       Sydost-Asien             3275 0.0741
 9 Stockholms län       Södra och Central-Asien  6029 0.136 
10 Stockholms län       Västra Asien            12433 0.281 
11 Stockholms län       Östra Afrika             5990 0.136 
12 Stockholms län       Östra Europa             3500 0.0792
13 Västra Götalands län Sydost-Asien             2337 0.0966
14 Västra Götalands län Södra Europa             2407 0.0994
15 Västra Götalands län Södra och Central-Asien  3072 0.127 
16 Västra Götalands län Västra Asien             7085 0.293 
17 Västra Götalands län Östra Afrika             4475 0.185 
18 Västra Götalands län Östra Europa             1215 0.0502


ggplot(df_desk1, aes(reorder_within(FodelseLandNamn, andel, region), andel, fill = region)) +
        geom_bar(stat = "identity") +
        coord_flip() +
        scale_x_reordered() +
        facet_grid(region ~., scales = "free_x")

/ Henrik

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Если я не понял, вы можете сделать это:

library(tidyverse)
ggplot(df_desk1, aes(reorder_within(FodelseLandNamn, andel, region), andel, fill = region)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  scale_x_reordered() +
  facet_grid(region ~., scales = "free")

enter image description here

Используя эти .

0 голосов
/ 11 июля 2019

Я не могу комментировать решение s_t (мне не хватает репутации), но вам нужно изменить scales = "free_x" на scales = "free" или scales = "free_y".Затем ggplot очищает дополнительные уровни.

...