ggplot geom_boxplot 用于基因表达数据

Posted

技术标签:

【中文标题】ggplot geom_boxplot 用于基因表达数据【英文标题】:ggplot geom_boxplot for gene expression data 【发布时间】:2020-11-06 01:34:21 【问题描述】:

我正在尝试获取 4 个不同基因的箱线图以及多个患者中每个基因的表达数据。

我尝试了多种方法,但一直在出错。我可以使用基本的 boxplot() 函数来做到这一点,但无法在 ggplot 中弄清楚,而且我看不到任何帮助 - 昨天花了几个小时阅读其他答案和问题!大多数其他数据似乎都是 2 列,因此可以指定 x = a 列和 y = b 列。但是,我想绘制整个 df 的所有 4 列,但我找不到任何帮助。我可以在 ggplot 中一次做一个,但不能同时做 4 个。

我拥有的数据 BCON_sig_genes 是 4 个基因,每个基因的 152 个样本的值在 3-6 之间。 df 是 4 个变量的 152 obs,其中 4 列以每个基因名称为标题,所有单元格都是如下所示的值。

         CD3E      LAT    ZAP70      LCK

1002 4.214679 5.652482 4.788204 5.393783

1022 4.424925 5.776641 4.864269 5.593587

8035 4.327270 5.725364 4.509920 4.961659

8037 4.415715 5.494048 4.435241 5.081846

9004 4.290078 5.265329 4.799106 5.275424

9005 4.233490 5.338098 4.666506 5.069394

以下代码通过替换基因名称一次获取一个基因。

BCON_sig_genes %>% ggplot(aes(y = CD3E, x = "CD3E"))+ geom_boxplot()

ggplot boxplot 1 gene only 我试过gene <- colnames(BCON_sig_genes) 然后输入 x = gene 但它不起作用并出现以下错误消息:

错误:美学长度必须为 1 或与数据 (152) 相同:x

我想我需要弄清楚 y 是什么。我尝试将其留空,以便获取所有数据并对每一列进行排序,但没有运气。

我尝试使用 gather() 函数并生成键和值,但我无法完全弄清楚而不会出错...但这感觉就像我走在正确的轨道上!

使用基本功能,我只需 boxplot(BCON_sig_genes),它只需将所有 4 个基因绘制在具有正确值的图表上。 base function boxplot all genes

我认为我需要更好地为 ggplot 整理数据,以便我可以告诉它 y 只是每列的所有表达式值,但我不确定如何。

任何帮助将不胜感激!

谢谢,维姬

【问题讨论】:

您能否提供一个模拟数据框以及您想要生成的图形的图像? 欢迎来到 SO!正如@KotaMori 所说,请提供minimal reproducible example。另外,听起来您可能想将数据存储为tidy data 嗨,我现在编辑了帖子以显示数据框的头部和我目前可以制作的 2 个箱线图!希望现在更清楚一点?谢谢 【参考方案1】:

要使 ggplot 工作,您需要以长格式获取数据。这基本上意味着您在第 1 列中获得基因名称,在第 2 列中获得它们的表达。您对收集的想法是正确的,但是收集被替换为 pivot_longer。

 library(tidyverse)

data %>% 
  pivot_longer(cols = CD3E:LCK, 
               names_to = "gene", 
               values_to = "expression") %>% 
  ggplot(aes(x = gene,
             y = expression)) +
  geom_boxplot()

【讨论】:

非常感谢!我希望我走在正确的轨道上,我只是无法到达那里!那工作得很好。你帮了我很多。 乐于助人!祝你好运

以上是关于ggplot geom_boxplot 用于基因表达数据的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(输出多个分组)实战

R语言使用ggplot2包使用geom_boxplot函数绘制基础分组水平箱图(boxplot)实战

R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置显示的分组)实战

R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点显示)实战

R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色配置)实战

R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(主题模式配置色彩设置)实战