我是新的R和Im尝试创建一个直方图。
我的数据如下:
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为每一组整齐,但不是在一起(使用过滤器)。
有人能帮我找到正确的答案吗?
发布于 2018-11-28 16:06:26
您可以使用cut按范围分组。阅读更多关于它的here。下面是一个使用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()

https://stackoverflow.com/questions/53523264
复制相似问题