美文网首页
[R语言可视化-精美图形绘制系列]--组内相关性分析

[R语言可视化-精美图形绘制系列]--组内相关性分析

作者: 小杜的生信筆記 | 来源:发表于2022-11-25 17:27 被阅读0次

    本期内容为[R语言可视化-精美图形绘制系列]--组内相关性分析--我们在前面分享过[R语言可视化-精美图形绘制系列--组间相关性分析],组内的相关性分析是比较容易的,使用corrplot包就可以直接获得cor值。但是计算P值就是比较困难,那么今天周末我们来搞一下哦!!

    代码部分:

    1. 此部分可看我们的个人喜好进行设置,是可选项。
    library(reshape2)
    library(corrplot)
    library(plyr)
    library(igraph)
    library(autoReg)
    library(tidyverse)
    library(ggsci)
    
    2. 导入数据
    input_data <- read.csv("20221112_input_data.csv", row.names = 1, check.names = F)
    dim(input_data)
    head(input_data)
                CK   Treat_01    Treat_02   Treat_03   Treat_04
    gene01 -0.84977517  1.4181238 -0.54757208 -0.1937784 -0.2953731
    gene02  0.47702001  1.2419958  0.30147166  0.3991298  1.8328058
    gene03 -0.25585638 -0.8757098  0.01523679  0.3542401 -0.2953731
    gene04 -0.76343921 -0.1194277 -0.15231595  0.8108953 -0.2953731
    gene05  0.01850849 -0.8757098 -1.42282342  1.0168803  3.6391267
    gene06 -0.84977517  1.6553410 -0.96212175  3.2958347 -0.2953731
    
    1. 相关性计算
    corr <- cor(input_data, method = "spearman")
    
    1. 绘图
    corrplot(corr,title = "", 
             method = "pie", #或"circle" (default), "square", "ellipse", "number", "pie", "shade" and "color"
             outline = T, addgrid.col = "darkgray", 
             order="hclust", addrect = 4, #hclust聚为4类,根据数据的具体情况调整
             mar = c(4,0,4,0), 
             rect.col = "black", rect.lwd = 5, cl.pos = "b", 
             tl.col = "black", tl.cex = 1.08, cl.cex = 1.5, tl.srt=60)
    
    corrplot(corr, title = "",
             method = "circle",
             outline = T,
             addgrid.col = "darkgray")
    
    ## 显示数字
    corrplot(corr,order = "AOE",type="upper",tl.pos = "tp")
    corrplot(corr, title = "",
             method = "number",
             outline = T,
             add = TRUE, type = "lower",
             order="AOE",col="black",diag=FALSE,tl.pos="n", cl.pos="n")
    

    ## 合并
    corpvlue <- cbind(pvalue, cor)
    head(corpvlue)
    
    ## #去掉相关性较弱的连接
    corpvlue <- corpvlue[corpvlue$pvalue < 0.05,] #只保留pvalue < 0.05的
    dim(corpvlue)
    head(corpvlue)
    
    corpvlue$weight <- corpvlue$pvalue
    corpvlue$weight <- -log10(corpvlue$weight)
    head(corpvlue)
    
    #去掉相关系数为1,也就是两个相同变量之间的连接
    corpvlue <- corpvlue[!corpvlue$cor==1,]
    dim(corpvlue)
    
    #去掉相关系数一样的连接--也就是重复计算的连接
    summary(duplicated(corpvlue$weight))
    
    corpvlue <- corpvlue[!duplicated(corpvlue$weight),]
    dim(corpvlue)
    
    head(corpvlue)
    ##
    outputdata <- corpvlue %>%
      select(from, to, pvalue, cor, weight)
    colnames(outputdata)[1:2] <- c("sample01","sample02")
    head(outputdata)
    

    最后获得我们需要的文件即可

    > head(outputdata)
     sample01 sample02       pvalue        cor   weight
    2  Treat_01       CK 5.097618e-03 -0.4292847 2.292633
    3  Treat_02       CK 1.583418e-02  0.3745557 1.800405
    12 Treat_11       CK 2.641765e-02 -0.3466011 1.578106
    61 Treat_14 Treat_02 2.724846e-02 -0.3459930 1.564658
    79 Treat_09 Treat_03 4.870941e-03  0.4313068 2.312387
    80 Treat_10 Treat_03 1.929456e-05 -0.6143757 4.714565
    --
    

    使用以前的码绘制气泡图

    ggplot(outputdata, 
           aes(sample01,sample02, colour = cor, size = -log10(pvalue))) +
      geom_point(aes(alpha = -log10(pvalue))) + 
      scale_color_gradient2(low = 'blue',
                            mid = 'white',
                            high = 'red',
                            midpoint = 0) +
      scale_size_area() + 
      theme_bw() +
      xlab(NULL)+ylab(NULL)+
      ## 更改横纵坐标轴中的字体颜色、大小
      theme(axis.text.x = element_text(color = "black", size = 12, #face = "bold",
                                       angle = 45, hjust = 1),
            axis.text.y = element_text(colour = "black", size = 12))
    

    往期文章(总汇)
    01-[R语言可视化-精美图形绘制系列]--精美火山图
    02-R语言可视化-精美图形绘制系列--柱状图
    03-R语言可视化-精美图形绘制系列--功能富集分析
    04-R语言可视化-精美图形绘制系列—多组GO富集可视化
    05-[R语言可视化-精美图形绘制系列--堆积图]
    06-[R语言可视化-精美图形绘制系列--组间相关性分析]
    07-[R语言可视化-精美图形绘制系列]--Mental分析
    08-[R语言可视化-精美图形绘制系列--复杂热图+两图渐变连线]-【转载】
    09-[R语言可视化-精美图形绘制系列--桑基图(Sankey)]
    10-[R语言可视化-精美图形绘制系列--柱状图误差线标记]
    11-跟着NC学作图 | 柱状图与相关性图
    12-[R语言可视化-精美图形绘制系列--GO、KEGG富集通路关联图]
    13-[跟着“基迪奥生物学”作图]--截断图
    14-[R语言可视化-精美图形绘制系列]--显著性箱线图
    14-2[R语言可视化]--箱线图不同的画法及参数设置 | 学习笔记

    相关文章

      网友评论

          本文标题:[R语言可视化-精美图形绘制系列]--组内相关性分析

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