Как добавить количество наблюдений (n) в легенду рассеянного графика ggplot2 - PullRequest
0 голосов
/ 06 февраля 2019

Изображение легенды, которое я хотел бы добавить к

Я хотел бы знать, как я могу добавить простое число наблюдения (n) в легенде этого точечного графика в ggplot2

library(readr)
library(ggplot2)
library(dplyr)
All.mutations.no.inserts <- read_csv("All mutations no inserts.csv")
All.mutations.no.inserts$Fungicide <- factor(All.mutations.no.inserts$Fungicide, levels = c("SDHI 1",
                                                                   "SDHI 2",
                                                                   "SDHI 3",
                                                                   "SDHI 4",
                                                                   "SDHI 5",
                                                                   "SDHI 6",
                                                                   "SDHI 7",
                                                                   "SDHI 8",
                                                                   "SDHI 9",
                                                                   "SDHI 10",
                                                                   "SDHI 11",
                                                                   "SDHI 12"))
All.mutations.no.inserts$SDH.mutation <- factor(All.mutations.no.inserts$`SDH.mutation`)
ggplot(All.mutations.no.inserts, aes(x = Fungicide, y = EC50, color = SDH.mutation)) + 
  geom_point(size = 4) +
  scale_y_log10() +
  theme_minimal() +
  theme(axis.text.x=element_text(angle = -90, hjust = 0),
        axis.title.x=element_blank()) 

Как мне изменить мой код?

1 Ответ

0 голосов
/ 06 февраля 2019

вот пример использования dplyr.См. Комментарии в коде.

library(dplyr)
library(ggplot2)

# sample data set
expand.grid(y = rnorm(20),
            x = letters[1:5],
            z = letters[6:10]) %>% 
  sample_frac(0.75) %>% 
  # add column n with counts for each group
  add_count(z) %>% 
  # combine the group z and count n into one column
  mutate(zn = paste0(z, ' (', n, ')')) %>% 
  # plot as you had
  ggplot(aes(x, y, colour = zn)) +
  geom_point() +
  # rename the legend title
  labs(colour = 'z (# obs)')

Создано в 2019-02-06 пакетом Представить (v0.2.1)

...