美文网首页
相关性网络图 | 热图中添加显著性

相关性网络图 | 热图中添加显著性

作者: 小杜的生信筆記 | 来源:发表于2023-10-30 19:07 被阅读0次

    一边学习,一边总结,一边分享!

    本期教程

    写在前面

    此图是一位同学看到后,想出的一期教程。

    最近,自己的事情比较多,会无暇顾及社群和公众号教程。

    1 安装和加载相关的R包

    library(ggraph)
    library(tidygraph)
    # install.packages("devtools")
    #devtools::install_github("Hy4m/linkET", force = TRUE)
    library("linkET")
    packageVersion("linkET")
    packageVersion("igraph")
    #devtools::install_github("Hy4m/netET")
    library(netET)
    

    设置路径

    setwd("E:\\小杜的生信筆記\\2023\\20231012-mental分析网络图")
    

    2 加载数据

    ##mantel test
    library(dplyr)
    
    data("varechem", package = "vegan")
    data("varespec", package = "vegan")
    

    2.1 查看数据

    ## 查看数据
    dim(varespec)
    # [1] 24 44
    varespec[1:10,1:10]
    
    dim(varechem)
    # [1] 24 14
    varechem[1:10,1:10]
    

    2.2 计算网络关系

    mantel <- mantel_test(varespec,   ## 分类数据
                          varechem,  ## 影响因子数据
                          ## 以下代码是根据varespec(分类数据)进行分析计算
                          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")))
    

    查看数据

    head(mantel)
    ###
    > head(mantel)
    # A tibble: 6 × 6
      spec   env        r     p rd        pd         
      <chr>  <chr>  <dbl> <dbl> <fct>     <fct>      
    1 Spec01 N     0.256  0.015 0.2 - 0.4 0.01 - 0.05
    2 Spec01 P     0.137  0.093 < 0.2     >= 0.05    
    3 Spec01 K     0.400  0.004 >= 0.4    < 0.01     
    4 Spec01 Ca    0.0113 0.427 < 0.2     >= 0.05    
    5 Spec01 Mg    0.0263 0.366 < 0.2     >= 0.05    
    6 Spec01 S     0.275  0.021 0.2 - 0.4 0.01 - 0.05
    

    2.3 绘制基础mantel相关性网络图

    ## 绘制相关性热图
    D0 <- qcorrplot(correlate(varechem), type = "lower", diag = FALSE) +  
      geom_square() +   ## 相关性热图的形状
      ## 
      geom_couple(aes(colour = pd, size = rd), 
                  data = mantel, 
                  curvature = nice_curvature()) +
      ## 颜色参数调整
      scale_fill_gradientn(colours = RColorBrewer::brewer.pal(11, "RdBu")) +
      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))
    D0
    ggsave("Mental相关性网络图.jpg",width = 6, height = 6)
    

    2.4 绘制显著性网络图

    我们在代码中详细标注了调整参数,可以自行根据需求进行调整即可。



    本教程详细教程:相关性网络图 | 热图中添加显著性


    往期文章:

    1. 复现SCI文章系列专栏

    2. 《生信知识库订阅须知》,同步更新,易于搜索与管理。

    3. 最全WGCNA教程(替换数据即可出全部结果与图形)


    4. 精美图形绘制教程

    5. 转录组分析教程

    转录组上游分析教程[零基础]

    小杜的生信筆記 ,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

    相关文章

      网友评论

          本文标题:相关性网络图 | 热图中添加显著性

          本文链接:https://www.haomeiwen.com/subject/hdobidtx.html