91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行R語言ggplot2包畫曼哈頓圖的簡單分析

發布時間:2021-11-22 15:00:49 來源:億速云 閱讀:516 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關如何進行R語言ggplot2包畫曼哈頓圖的簡單分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

曼哈頓圖是GWAS數據分析中經常會用到的一個圖,R語言里有專門的包和函數直接生成曼哈頓圖。但是如果有數據的話我們自己也可以用ggplot2來做。

做曼哈頓圖的數據通常是以下這種格式

如何進行R語言ggplot2包畫曼哈頓圖的簡單分析  
image.png
  • 第一列是SNP對應的一個名字
  • 第二列是染色體編號
  • 第三列是SNP在染色體的位置
  • 第四列是特征對應的一個P值
  • 如果有多個特征依次往后排就可以了

曼哈頓圖可以理解成一個x對應多個y的散點圖,ggplot2里做這種圖的函數是geom_jitter()

今天用到的數據集是來自于rMVP這個包中的pig60K數據集

 首先是獲得這個數據集
library(rMVP)
data('pig60K')
   使用ggplot2畫圖
library(ggplot2)
ggplot(pig60K,aes(x=Chromosome,y=trait1))+
  geom_jitter()
 
如何進行R語言ggplot2包畫曼哈頓圖的簡單分析  
image.png
 按不同的染色體填充顏色
ggplot(pig60K,aes(x=Chromosome,y=trait1))+
  geom_jitter(aes(color=Chromosome))
 
如何進行R語言ggplot2包畫曼哈頓圖的簡單分析  
image.png
 右側的圖例可以不要,把它去掉
ggplot(pig60K,aes(x=Chromosome,y=trait1))+
  geom_jitter(aes(color=Chromosome))+
  theme(legend.position = "none")
 
如何進行R語言ggplot2包畫曼哈頓圖的簡單分析  
image.png
 從圖上可以看到Y染色體對應的只有一個點,可以在原始數據中把Y對應的數據去掉,用到dplyr這個包中的filter()函數
library(dplyr)
df<-filter(pig60K,Chromosome!="Y")
ggplot(df,aes(x=Chromosome,y=trait1))+
  geom_jitter(aes(color=Chromosome))+
  theme(legend.position = "none")
 
如何進行R語言ggplot2包畫曼哈頓圖的簡單分析  
image.png
 這個時候還有一個問題是X軸不是按照1,2,3這樣依次排下來的,我們可以通過更改因子水平來給X軸重新排序
df$Chromosome<-factor(df$Chromosome,
                      levels = c(1:18,"X"))
ggplot(df,aes(x=Chromosome,y=trait1))+
  geom_jitter(aes(color=Chromosome))+
  theme(legend.position = "none")
 
如何進行R語言ggplot2包畫曼哈頓圖的簡單分析  
image.png
 曼哈頓圖通常是對特征的p值取-log10
ggplot(df,aes(x=Chromosome,y=-log10(trait1)))+
  geom_jitter(aes(color=Chromosome))+
  theme(legend.position = "none")
 
如何進行R語言ggplot2包畫曼哈頓圖的簡單分析  
image.png
 最后是一些簡單的美化
ggplot(df,aes(x=Chromosome,y=-log10(trait1)))+
  geom_jitter(aes(color=Chromosome))+
  theme_minimal()+
  theme(legend.position = "none",
        axis.text.x = element_text(angle=60,hjust=1))+
  scale_y_continuous(expand = c(0,0),
                     limits = c(0,10))+
  scale_x_discrete(labels=paste0("Chr",c(1:18,"X")))+
  labs(x=NULL,y="-log10(Pvalue)")+
  geom_hline(yintercept = 6.25,lty="dashed")
 
如何進行R語言ggplot2包畫曼哈頓圖的簡單分析

關于如何進行R語言ggplot2包畫曼哈頓圖的簡單分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西充县| 革吉县| 凌云县| 长海县| 宜州市| 竹溪县| 嘉定区| 清徐县| 横山县| 伽师县| 美姑县| 石狮市| 饶阳县| 临湘市| 清徐县| 莆田市| 千阳县| 敦化市| 紫云| 泰宁县| 东山县| 南溪县| 深水埗区| 缙云县| 麻栗坡县| 常熟市| 建平县| 湖北省| 沂南县| 邓州市| 和平县| 永嘉县| 汾西县| 安宁市| 安福县| 太原市| 宝丰县| 类乌齐县| 铜鼓县| 石楼县| 田阳县|