簡體   English   中英

ggplot geom_boxplot 用於基因表達數據

[英]ggplot geom_boxplot for gene expression data

我正在嘗試獲取 4 個不同基因的箱線圖,其中包含多個患者中每個基因的表達數據。

我嘗試了多種方法,只是不斷出現錯誤。 我可以使用基本 boxplot() function 來做到這一點,但在 ggplot 中無法弄清楚,我也看不到任何幫助 - 昨天花了幾個小時閱讀其他答案和問題。 大多數其他數據似乎都是 2 列,因此可以指定 x = a 列和 y = b 列,但是。 我想 plot 我整個 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() function 並制作鍵和值,但我無法完全弄清楚而不會出錯......但這感覺就像我走在了正確的軌道上!

使用基礎 function 我要做的就是boxplot(BCON_sig_genes) ,它只需將所有 4 個基因繪制在具有正確值的圖表上。 鹼基 function 箱線圖所有基因

我認為我需要更好地為 ggplot 處理數據,以便我可以告訴它 y 只是每列的所有表達式值,但我不確定如何。

任何幫助將非常感激!!

謝謝,維姬

要使 ggplot 工作,您需要以長格式獲取數據。 這基本上意味着您在第 1 列中獲得基因名稱,在第 2 列中獲得它們的表達。您對gather 有正確的想法,但gather 被pivot_longer 取代。

 library(tidyverse)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM