change variables order

How can I change the variables order in the x axis to outono, inverno, primavera, verão?


library(tidyverse, quietly = TRUE)
binary_data <- data.frame(stringsAsFactors=FALSE,
                          Especies = c( "Epinephelus fuscoguttatus",
                                        "Epinephelus guttatus",
                                        "Epinephelus itajara",
                                        "Epinephelus marginatus",
                                        "Epinephelus polyphekadion",
                                        "Epinephelus rivulatus",
                                        "Mycteroperca bonaci",
                                        "Mycteroperca olfax",
                                        "Plectropomus leopardus",
                                        "Plectropomus maculatus",
                                        "Plectropomus punctatus",
                                        "Alphestes afer",
                                        "Dermatolepis dermatolepis",
                                        "Epinephelus fuscoguttatus",
                                        "Epinephelus guttatus",
                                        "Epinephelus itajara",
                                        "Epinephelus marginatus",
                                        "Epinephelus ongus",
                                        "Epinephelus polyphekadion",
                                        "Epinephelus striatus",
                                        "Mycteroperca bonaci",
                                        "Mycteroperca jordani",
                                        "Mycteroperca prionura",
                                        "Mycteroperca rosacea",
                                        "Mycteroperca tigris",
                                        "Mycteroperca venenosa",
                                        "Mycteroperca xenarcha",
                                        "Paralabrax clathratus",
                                        "Paralabrax nebulifer",
                                        "Plectropomus areolatus"
                          ),
                          Hemisfério = c("HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HS",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN",
                                         "HN"
                          ),
                          primavera = c(1,
                                        0,
                                        1,
                                        1,
                                        1,
                                        0,
                                        1,
                                        1,
                                        1,
                                        1,
                                        0,
                                        0,
                                        0,
                                        1,
                                        0,
                                        0,
                                        0,
                                        1,
                                        1,
                                        1,
                                        1,
                                        1,
                                        1,
                                        1,
                                        1,
                                        1,
                                        0,
                                        1,
                                        0,
                                        1
                          ),
                          verão = c(1,
                                    1,
                                    1,
                                    1,
                                    1,
                                    0,
                                    0,
                                    1,
                                    1,
                                    1,
                                    1,
                                    0,
                                    0,
                                    1,
                                    1,
                                    1,
                                    1,
                                    0,
                                    1,
                                    1,
                                    1,
                                    1,
                                    0,
                                    1,
                                    0,
                                    0,
                                    1,
                                    1,
                                    1,
                                    0
                          ),
                          outono = c(1,
                                     0,
                                     1,
                                     0,
                                     1,
                                     0,
                                     0,
                                     0,
                                     0,
                                     0,
                                     0,
                                     0,
                                     0,
                                     1,
                                     0,
                                     0,
                                     0,
                                     0,
                                     0,
                                     0,
                                     1,
                                     1,
                                     0,
                                     1,
                                     0,
                                     0,
                                     1,
                                     1,
                                     0,
                                     0
                          ),
                          inverno = c(0,
                                      0,
                                      0,
                                      0,
                                      1,
                                      1,
                                      1,
                                      0,
                                      0,
                                      0,
                                      0,
                                      1,
                                      1,
                                      1,
                                      1,
                                      0,
                                      0,
                                      0,
                                      1,
                                      1,
                                      1,
                                      0,
                                      0,
                                      0,
                                      1,
                                      1,
                                      0,
                                      0,
                                      0,
                                      1
                          )
)
binary_data$Hemisfério <- factor(binary_data$Hemisfério , levels=c("HS","HN"))
binary_data %>%
    gather(Estação, Presence, primavera:inverno) %>% 
    group_by(Hemisfério, Estação) %>% 
    summarise(species_count = sum(Presence)) %>%
    ggplot(aes(x = Estação, y = Hemisfério)) +
    geom_point(aes(size = species_count), color = "#000066") +
    scale_size_continuous(range = c(3,18), breaks = c(3, 6, 9, 12)) +
    labs(size = 'Número de espécies') +
    theme_classic()
1 Like

You can convert it into factor and specify levels.

binary_data %>%
    gather(Estação, Presence, primavera:inverno) %>% 
    group_by(Hemisfério, Estação) %>% 
    summarise(species_count = sum(Presence)) %>%
    ggplot(aes(x = factor(Estação, levels = c('outono', 'inverno', 'primavera', 'verão')), y = Hemisfério)) +
    geom_point(aes(size = species_count), color = "#000066") +
    scale_size_continuous(range = c(3,18), breaks = c(3, 6, 9, 12)) +
    labs(size = 'Número de espécies',
         x = 'Estação') +
    theme_classic()

3 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.