中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何進行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

晋宁县| 宝坻区| 辽源市| 闵行区| 新邵县| 伊宁县| 普宁市| 正定县| 方山县| 平谷区| 嘉鱼县| 葵青区| 招远市| 冷水江市| 天峨县| 玉环县| 抚远县| 株洲市| 永丰县| 老河口市| 科技| 金乡县| 阿尔山市| 巴南区| 长岛县| 兰坪| 古浪县| 亳州市| 杂多县| 甘德县| 沅江市| 海城市| 镇宁| 邵武市| 遂溪县| 连城县| 左权县| 彝良县| 龙泉市| 新平| 平度市|