r - 按类别的多个直方图
问题描述
我是 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 为每个组单独创建这样一个图,但不是一起(通过使用过滤器)
任何人都可以将我引向正确的答案吗?
解决方案
您可以使用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()
推荐阅读
- powershell - 为什么 Powershell 的 Install-Module 速度如此之慢?
- java - 使用 OkHttp 访问 API 时获得空响应
- javascript - mxGraph 从 XML 加载,但加载后无法插入元素
- android - 推送通知需要打开特定的活动
- sql-server - 即使重新启动,内存使用服务器 DB 也总是增加
- java - groupByTo 在 Kotlin 中返回 emptySet
- python - Python代码:赋值前引用的局部变量
- .net - 有没有办法获得 Visual Studio 在 Azure Function App 部署中使用的步骤?
- signal-processing - 如何简单地解决它以获得差分方程有三个分支相遇给出y(n),2来自延迟输出一个来自输入
- python - 如何加入数据框并反转加入列?