如何进行R语言ggplot2包画曼哈顿图的简单分析
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章将为大家详细讲解有关如何进行R语言ggplot2包画曼哈顿图的简单分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。曼哈顿图是GWAS数据分析
千家信息网最后更新 2025年01月31日如何进行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安全错误
数据库的锁怎样保障安全
sql数据库循环添加数据
大学生网络安全攻防的认识
魔兽世界燃烧远征联盟服务器
城关区软件开发app开发
湖北华为服务器续保一年多少钱
梦幻新诛仙开的服务器名称
智能网络技术发展方向
上海陌远互联网科技有限公司
河南服务器机房定制价格
华为7se开机显示没连接服务器
软件开发笔记本i5和i7
魔兽世界永久怀旧服数据库
软件开发工程师文档
合肥华软件开发公司电话
佛山高防云服务器
杭州苹果软件开发哪家有名
通信网络技术专业怎么样
数据库技术的优缺点
市民网络安全宣传周
数据库中生成器怎么设密码
centos下启动数据库
辽宁蓝牙软件开发价格
允许远程连接数据库
香港大学网络安全专业
HC34900服务器
行业内网络安全工作部署
软件开发 售后服务承诺
校园网络安全宣传用语
lol服务器排名2015
越南租服务器哪家好