Возникли проблемы с reorder_within (ggplot2)

У меня проблема со стороны. Я хочу разделить свои данные, используя переменную «регион» в моем мелком наборе данных, и изменить порядок с помощью «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")

/Хенрик

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
1 688
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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")

Использование эти.

о, так это было только изменить scales = "free_x" на scales = "free" Большое спасибо!

Henrik 11.07.2019 15:18

Да, также должно работать free_y, потому что вам нужно работать с осью Y.

s__ 11.07.2019 15:20
Ответ принят как подходящий

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

Другие вопросы по теме