如何进行R语言ggplot2包画曼哈顿图的简单分析
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章将为大家详细讲解有关如何进行R语言ggplot2包画曼哈顿图的简单分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。曼哈顿图是GWAS数据分析
千家信息网最后更新 2024年09月22日如何进行R语言ggplot2包画曼哈顿图的简单分析
这篇文章将为大家详细讲解有关如何进行R语言ggplot2包画曼哈顿图的简单分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
曼哈顿图是GWAS数据分析中经常会用到的一个图,R语言里有专门的包和函数直接生成曼哈顿图。但是如果有数据的话我们自己也可以用ggplot2来做。
做曼哈顿图的数据通常是以下这种格式
第一列是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()
按不同的染色体填充颜色ggplot(pig60K,aes(x=Chromosome,y=trait1))+
geom_jitter(aes(color=Chromosome))
右侧的图例可以不要,把它去掉ggplot(pig60K,aes(x=Chromosome,y=trait1))+
geom_jitter(aes(color=Chromosome))+
theme(legend.position = "none")
从图上可以看到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")
这个时候还有一个问题是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")
曼哈顿图通常是对特征的p值取-log10ggplot(df,aes(x=Chromosome,y=-log10(trait1)))+
geom_jitter(aes(color=Chromosome))+
theme(legend.position = "none")
最后是一些简单的美化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包画曼哈顿图的简单分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数据
曼哈顿
染色体
染色
语言
分析
函数
特征
内容
多个
文章
更多
知识
篇文章
不同
不错
原始
位置
只有
可以通过
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
视频 数据库
黔西南入柜陪护床软件开发
数据库用户安全方案
数据库关系代数有没有必要
金蝶易是什么数据库
网络安全教育儿歌视频
学软件开发需要学历吗
数据库中存储登录名的表
电影app软件开发
周鸿祎提升网络安全
广播电视网络技术考试
成都网络技术选择
中国电信用的网络技术
保险软件开发企业
网络安全产业创新篇章
做网站怎样弄服务器
.sql数据库代码
研究生 计算机网络技术
无线传感网络技术的有哪些
软件开发公司哪里找客户
c 发布程序 添加数据库
高品质软件开发平台
VBA数据库如何加密
东华软件华为服务器系统
吴江区中高端服务器价格咨询
自考网络安全试题
ip服务器查询网站
资源服务器怎么组建
安全审计服务器
中小学生网络安全策略