Несколько гистограмм по категориям - PullRequest
0 голосов
/ 28 ноября 2018

Я новичок в R и собираюсь создать гистограмму.

мои данные выглядят так:

                id age                               sub.types inter
1 TCGA-A8-A07O  60        Infiltrating duct carcinoma, NOS     6
2 TCGA-A7-A0CJ  65        Infiltrating duct carcinoma, NOS     6
3 TCGA-A7-A0CH  88        Infiltrating duct carcinoma, NOS     8
4 TCGA-A7-A0CG  86 Infiltrating duct and lobular carcinoma     8
5 TCGA-A7-A0CE  66        Infiltrating duct carcinoma, NOS     6
6 TCGA-A7-A0CD  75        Infiltrating duct carcinoma, NOS     7

Я хочу создать гистограмму, чтобы для каждого возраста группы (30-39, 40-49 и т. Д.) Я получу полосу, разделенную и раскрашенную по подтипам.

мне удалось создать такой график, используя ggplot для каждой группы отдельно, но не вместе (с помощью фильтра)

Кто-нибудь может направить меня на правильный ответ?

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете использовать cut для группировки по диапазону.Подробнее об этом здесь .Ниже приведен пример того, как построить ваши данные, используя ggplot2 и dplyr.Я сгруппировался по 10 годам.

library(ggplot2)
library(dplyr)

df <- tibble::tribble(
                   ~id, ~age,                                ~sub.types, ~inter,
        "TCGA-A8-A07O",  60L,        "Infiltrating duct carcinoma, NOS",     6L,
        "TCGA-A7-A0CJ",  65L,        "Infiltrating duct carcinoma, NOS",     6L,
        "TCGA-A7-A0CH",  88L,        "Infiltrating duct carcinoma, NOS",     8L,
        "TCGA-A7-A0CG",  86L, "Infiltrating duct and lobular carcinoma",     8L,
        "TCGA-A7-A0CE",  66L,        "Infiltrating duct carcinoma, NOS",     6L,
        "TCGA-A7-A0CD",  75L,        "Infiltrating duct carcinoma, NOS",     7L
        )

df %>% 
  group_by(age.group = cut(age, breaks= seq(0, 100, by = 10))) %>% 
  ggplot() +
  geom_bar(aes(age.group, fill = sub.types)) +
  theme_classic()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...