Фактор изменения порядка в графике мозаики в R с помощью ggmosaic и geom_mosaic ()

Я попытался познакомиться с созданием мозаичных графиков в R с помощью команды geom_mosaic () пакета ggmosaic.

Моя проблема в том, что я хочу, чтобы регионы были упорядочены по доле пожилых людей в каждом регионе, а не по названию, как сейчас. Любая помощь?

Я не очень привык работать с факторами, но безуспешно пытался делать разные вещи с помощью команды forecat fct_reorder().

Вот образец набора данных (не фактический набор данных, с которым я работаю) и код, который я сделал до сих пор:

      # install.packages(c("ggplot2", "ggmosaic"))
library(ggplot2)
library(ggmosaic)
  
# Make data set      
region <- c("Oslo", "Oslo", "Oslo", "Viken", "Viken", "Viken", 
            "Nordland", "Nordland", "Nordland")
age    <- c("young", "adult", "senior", "young", "adult", "senior",
            "young", "adult", "senior")
pop    <- c(145545, 462378, 89087, 299548, 729027, 223809, 52156, 136872, 51317)
df     <- data.frame(region, age, pop)

# Make mosaic plot
ggplot(data = df) +
  geom_mosaic(aes(x = product(age, region), fill = age, weight = pop)) +
  coord_flip() +
  theme_minimal()

1 ответ

используйте этот код, чтобы установить последовательность,

      df$age <- factor(df$age, levels = c("senior","adult","young"))
Другие вопросы по тегам