绘制mantel test图新包linkET

安装和更新

近期断断续续对linkET做了一些更新,主体是从方便用户使用,增强灵活性的角度出发的,至于我想在新版本中添加的功能,暂时还未完成,而且预计新功能完成可能得到端午节前后,所以这个版本(0.0.3)是未来一段时间比较稳定的版本,若是想尝新,不妨更新一下试试。

## install.packages("devtools")
devtools::install_github("Hy4m/linkET", force = TRUE)
library(linkET)

correlate()函数

之前的版本(包括最早的ggcor),correlate()函数都仅仅是封装cor()cor.test()函数,来作为默认的相关系数矩阵计算的函数,然后提供了统一的接口来把WGCNA等其他包计算的结果导入到linkET中。这一次更新,我尝试把其他包的函数(如psych::corr.test())作为计算引擎,完整的封装进correlate()函数,这样用户就不用去深究各种不同的包的函数差异。下面的例子给了一些示例,可以尝试运行查看结果。

## 默认计算方式,等价于上一个版本的correlate()
correlate(mtcars)
## 使用psych包作为计算引擎
correlate(mtcars, engine = "psych")


## 使用Hmisc包作为计算引擎
correlate(mtcars, engine = "Hmisc")


## 使用picante包作为计算引擎
correlate(mtcars, engine = "picante")


## 使用WGCNA包作为计算引擎
correlate(mtcars, engine = "WGCNA")

当然,correlate()函数还增加了一个group参数,这个参数可以用来指定原始数据的分组信息,例如比如著名的iris数据集中,若我们想根据物种la分别计算相关系数矩阵,我们就可以把group参数设置为Species这个向量。

# head(iris)
correlate(iris[-5], group = iris$Species)

27d030611c57facd548ac69c20349ca9.png

直接输出分组计算的相关系数矩阵的结果,只能看到一点描述性信息,建议使用下面的代码把图画出来:

correlate(iris[-5], group = iris$Species) %>% 
  qcorrplot() + geom_square()

4e5cea07369a6a60fe7438825e8487ef.png

改变默认样式

linkET的开发过程中,我一直保持克制,希望能最大程度保持原汁原味的ggplot2的感觉,但是经不住问,我还是提供了一个set_corrplot_style()函数,每次打开R会话框后运行下这个函数,就能保证之后的所有的qcorrplot()函数画的图都改成了你想要的样式。

set_corrplot_style()
qcorrplot(mtcars) + geom_square()

11c0dc945a814623f9c22b0b59438d46.png

也可以使用你自己的调色板,比如改成红白蓝的配色:

set_corrplot_style(colours = c("red", "white", "blue"))
qcorrplot(mtcars) + geom_square()

7e4bb4d2837115f612e9c08a3d8eca79.png

最后,要是你嫌弃默认使用的scale_fill_gradientn()函数不能满足你的需求,你完全可以提供的scale函数,比如:

set_corrplot_style(scale = ggplot2::scale_fill_viridis_c())
qcorrplot(mtcars) + geom_square()

017b949560027e3e6995540d6da5bcce.png

用完了记得还原一下,不然之后的图还会按照你设置的样式画图:

set_default_style()

更丝滑的geom_couple()函数

我们先看看:

library(dplyr)
library(ggplot2)
data("varechem", package = "vegan")
data("varespec", package = "vegan")


mantel <- mantel_test(varespec, varechem,
                      spec_select = list(Spec01 = 1:7,
                                         Spec02 = 8:18,
                                         Spec03 = 19:37,
                                         Spec04 = 38:44)) %>% 
  mutate(rd = cut(r, breaks = c(-Inf, 0.2, 0.4, Inf),
                  labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),
         pd = cut(p, breaks = c(-Inf, 0.01, 0.05, Inf),
                  labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))


## 现学现用
set_corrplot_style()
qcorrplot(correlate(varechem), type = "lower", diag = FALSE) +
  geom_square() +
  geom_couple(aes(colour = pd, size = rd), 
              data = mantel, 
              curvature = nice_curvature()) +
  scale_size_manual(values = c(0.5, 1, 2)) +
  scale_colour_manual(values = color_pal(3)) +
  guides(size = guide_legend(title = "Mantel's r",
                             override.aes = list(colour = "grey35"), 
                             order = 2),
         colour = guide_legend(title = "Mantel's p", 
                               override.aes = list(size = 3), 
                               order = 1),
         fill = guide_colorbar(title = "Pearson's r", order = 3))

36782cb179e672cc1a5c1481014762fc.png

现在想把Spec的几个点的位置微调一下,在之前的三期文章中我提到了可以使用aes(x = .x + 1)之类的方式来调整,但是这种方法每次都是所有的点做相同的调整,在这个版本中我新增了offset_xoffset_y两个参数,这两个参数能对指定的点做调整,没有指定的保持在原位不动。

qcorrplot(correlate(varechem), type = "lower", diag = FALSE) +
  geom_square() +
  geom_couple(aes(colour = pd, size = rd), 
              data = mantel, 
              curvature = nice_curvature(),
              offset_x = list(Spec02 = 3, Spec03 = 3),
              offset_y = list(Spec01 = 0.5, Spec02 = 1)) +
  scale_size_manual(values = c(0.5, 1, 2)) +
  scale_colour_manual(values = color_pal(3)) +
  guides(size = guide_legend(title = "Mantel's r",
                             override.aes = list(colour = "grey35"), 
                             order = 2),
         colour = guide_legend(title = "Mantel's p", 
                               override.aes = list(size = 3), 
                               order = 1),
         fill = guide_colorbar(title = "Pearson's r", order = 3))

4260b6e2694fc0e90a22903fd6e2d586.png

小结

linkET还会继续开发,功能也会越来越完整,希望所有人都能切换到linkET上来,忘了那个ggcor吧。

猜你喜欢

iMeta简介 高引文章  高颜值绘图imageGP  网络分析iNAP
iMeta网页工具  代谢组MetOrigin  美吉云 乳酸化预测DeepKla
iMeta综述  肠菌菌群  植物菌群  口腔菌群  蛋白质结构预测

10000+: 菌群分析  宝宝与猫狗  梅毒狂想曲  提DNA发Nature

系列教程: 微生物组入门  Biostar  微生物组   宏基因组

专业技能: 学术图表  高分文章  生信宝典  不可或缺的人

一文读懂: 宏基因组  寄生虫益处  进化树 必备技能: 提问  搜索   Endnote

扩增子分析: 图表解读  分析流程  统计绘图

16S功能预测    PICRUSt   FAPROTAX   Bugbase  Tax4Fun

生物科普:   肠道细菌  人体上的生命  生命大跃进   细胞暗战  人体奥秘  

写在后面

为鼓励读者交流快速解决科研困难,我们建立了“宏基因组”讨论群,己有国内外6000+ 科研人员加入。请添加主编微信meta-genomics带你入群,务必备注“姓名-单位-研究方向-职称/年级”。高级职称请注明身份,另有海内外微生物PI群供大佬合作交流。技术问题寻求帮助,首先阅读 《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

点击阅读原文,跳转最新文章目录阅读

猜你喜欢

转载自blog.csdn.net/woodcorpse/article/details/125308098
绘制mantel test图新包linkET
基于R的linkET包qcorrplot可视化Mantel test相关性网络热图分析correlation heatmap
Mantel test的R实现
R语言linkET包绘制相关性组合网络热图
Mantel test 是对两个矩阵相关关系的检验
R语言分类变量独立性检验(Tests of independence)、使用Cochran–Mantel–Haenszel检验mantelhaen.test函数检验分类变量的独立性
Python绘制新冠肺炎疫情图
图的绘制
corrplot包绘制相关性图
R语言forestplot包绘制森林图
原图绘制新图,字符串绘制图片
使用ComplexHeatmap包绘制个性化热图
R-forestplot包| HR结果绘制森林图
利用Python的folium包绘制城市道路图
R语言ggalluvia包优雅的绘制桑基图
【R语言】——UpSetR包绘制集合图(保姆级教程)
python 绘制qq图
绘制语谱图
viso绘制时序图
Visio绘制时序图
ECharts绘制水球图
流程图绘制
饼图简单绘制
plantuml绘制UML图
空间多级图绘制
点击热图绘制
Visio绘制活动图
plot绘制子图
绘制LineChart线形图
Openresty绘制火焰图
今日推荐
Linus “吃狗粮”最积极!
开源日报 | Winamp播放器即将开源;生成式AI之战升级第二轮;Linus“吃狗粮”最积极;AI进入泡沫前期;吴泳铭为阿里云带来了什么?
NetBSD 禁止提交由 AI 生成的代码
Apache Doris 2.0.10 版本正式发布!
开源日报 | 大模型开战;大模型独角兽被曝卖身;周鸿祎建议谷歌开源所有产品;最大开源AI社区提供1000万美元共享GPU
开源日报 | Chrome内置Gemini的意义不在于Gemini;中国AI追随之路的五大误区;ECharts创始人“下海”养鱼;谷歌I/O开发者大会什么都有,只是没有惊喜
微软回应中国区AI团队“打包赴美”传闻
周排行
LogN级别的区间查询算法(线段树), 你学会了吗
数论概论(英文版.第4版)
idea 更新后和新的直接安装前,都需要配置 idea64.exe.vmoptions 后再使用
CANOpen系列教程04_CAN总线波特率、位时序、帧类型及格式说明
Java序列化基础
java排序算法整理
异常:org.apache.ibatis.reflection.ReflectionException
(算法练习)——二路归并排序
go 闭包函数
好程序员web前端技术分享媒体查询
每日归档
更多
2024-05-21(8)
2024-05-20(36)
2024-05-19(0)
2024-05-18(4)
2024-05-17(34)
2024-05-16(6)
2024-05-15(24)
2024-05-14(0)
2024-05-13(18)
2024-05-12(0)

哆哆女性网庭院里种什么树好起名字女孩牛www.foundersc.com微信公众号微网站制作姓袁的女孩起名字手机网站定制建设动物笑谈读后感300字有那些seo培训学院澳大利亚购物网站建设i54570seo的网站推广父亲姓王母亲姓高起名八字算命中国网络子平算命网中山建设公司网站烟台高端网站制作公司算命最准的师傅初中的叙事作文seo工程好妻子演员表brunch餐厅在哪个网站建设o2o网站建设大数据公司起名字梦见放鞭炮是什么意思周公解梦手工艺品制作网站温州英文seo整合推广营销起名成语男孩名的2020年八月出生起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化