我是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为每个组创建这样一个图,但不能一起(通过使用过滤器)来创建图
有人可以将我引向正确的答案吗?
答案 0 :(得分:0)
您可以使用cut
按范围分组。进一步了解here。以下是如何使用ggplot2
和dplyr
绘制数据的示例。我已经按十年分组了。
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()