美文网首页
照葫芦画图之多组相关性分析

照葫芦画图之多组相关性分析

作者: 生信宝库 | 来源:发表于2022-03-23 13:16 被阅读0次

说在前面

小编在之前的推文:照葫芦画图之相关聚类中,只是简单的说了一下相关性分析。然后,最近看到了一篇文献中,作者把多组数据之间的相关性在一个图中进行了展示,Immugent觉得非常炫酷,于是小编就专门查了相关的代码,今天就分享给大家。

相关性分析其实就是看两个观测值之间有没有一定的规律联系,而在实际运用中,我们可能进行了分组,于是我们有时还需要同时比较各个分组间相关性的区别,这就用到了今天所展示的图啦。

话不多说,下面开始展示。。。


代码实现

首先我们先做一组数据简单的相关性分析。

rm(list=ls())
library(ggplot2)
library(ggpubr)
theme_set(
  theme_minimal() +
    theme(legend.position = "top")
)

# Load data
data("mtcars")
df <- mtcars
# Convert cyl as a grouping variable
df$cyl <- as.factor(df$cyl)
# Inspect the data
head(df[, c("wt", "mpg", "cyl", "qsec")], 4)

b <- ggplot(df, aes(x = wt, y = mpg))


# Scatter plot with regression line
b + geom_point()+
  geom_smooth(method = "lm") 

# Add regression line and confidence interval
# Add correlation coefficient: stat_cor()
ggscatter(df, x = "wt", y = "mpg",
          add = "reg.line", conf.int = TRUE,    
          add.params = list(fill = "lightgray"),
          ggtheme = theme_minimal()
)+
  stat_cor(method = "pearson", 
           label.x = 3, label.y = 30) 

图片

然后在进行多组数据相关性分析之前,我们需要先看一下它们的分布情况。

b + geom_point(aes(color = cyl, shape = cyl))+
  stat_ellipse(aes(color = cyl), type = "t")+
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))

# Convex hull of groups
b + geom_point(aes(color = cyl, shape = cyl)) +
  stat_chull(aes(color = cyl, fill = cyl), 
             alpha = 0.1, geom = "polygon") +
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) +
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) 
  
# Add mean points and confidence ellipses
b + geom_point(aes(color = cyl, shape = cyl)) +
  stat_conf_ellipse(aes(color = cyl, fill = cyl), 
                    alpha = 0.1, geom = "polygon") +
  stat_mean(aes(color = cyl, shape = cyl), size = 2) + 
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) +
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) 
图片 图片

我们可以从上图粗略看出,虽然三组数据都有呈现负相关的特征,但是趋势是有区别的,那么我们就来通过多组间相关性分析来精确的描述它们之间的区别。

# Change color and shape by groups (cyl)
b + geom_point(aes(color = cyl, shape = cyl))+
  geom_smooth(aes(color = cyl, fill = cyl), method = "lm") +
  geom_rug(aes(color =cyl)) +
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))+
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))

# Remove confidence region (se = FALSE)
# Extend the regression lines: fullrange = TRUE
b + geom_point(aes(color = cyl, shape = cyl)) +
  geom_rug(aes(color =cyl)) +
  geom_smooth(aes(color = cyl), method = lm, 
              se = FALSE, fullrange = TRUE)+
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))+
  ggpubr::stat_cor(aes(color = cyl), label.x = 3)

b + geom_point(aes(color = cyl, shape = cyl))+
  geom_smooth(aes(color = cyl, fill = cyl), 
              method = "lm", fullrange = TRUE) +
  facet_wrap(~cyl) +
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))+
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) +
  theme_bw()
图片 图片 图片

小结

有一说一,虽然相关性分析看似很有道理,其实在实际应用中也是有很多bug的,比如有一些相关性很强的基因之间并没有实际联系,多组间相关性分析更是如此。这就提醒我们需要主要相关性分析的适用性:首先必须保证样本量足够大;其次就是注意数据的统计学分布。其中样本量是前提,统计学分布是指标,不同统计学分布的数据偏向于使用不同的相关性分析,常用的有pearson, spearman等。

好啦,本次推文到这里就结束啦,欢迎大家再看过此推文后,将自己不同的见解通过后台发送给我们!


相关文章

  • 照葫芦画图之多组相关性分析

    说在前面 小编在之前的推文:照葫芦画图之相关聚类[https://mp.weixin.qq.com/s?__biz...

  • 照葫芦画图之PcoA

    说在前面 Immugent在之前一篇推文照葫芦画图之PCA[https://mp.weixin.qq.com/s?...

  • 照葫芦画图之统计描述(三)

    说在前面 本次推文是统计描述的最后一节,此系列的前两节是专门为生信新手入门简单作图所准备的,本次推文我们就来展示一...

  • 照葫芦画图之统计描述(二)

    说在前面 在上一小节,Immugent介绍了一些统计学描述的基本图表,在本次推文,小编将会进一步讲解对数据集中趋势...

  • 照葫芦画图之统计描述(一)

    说在前面 简单说对一切实验结果分析的核心就是数据,当我们面对原始的大量数据时,这些数据中很可能夹杂着没有任何意义或...

  • 照葫芦画图之网络/层级图

    说在前面 相信大家在日常科研中需要同时分析多个候选基因,从而进一步揭示这些基因(蛋白)之间的联系时,都会用到各种网...

  • 照葫芦画图之相关聚类

    说在前面 在平时读文献时我们经常会遇到相关/聚类分析,那么Immugent今天就来结合这两种分析进行科普一波。 相...

  • R相关性分析和相关性热图

    相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性分析...

  • R语言进行相关性分析

    相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性分析...

  • 使用R语言进行相关性分析热图的绘制

    相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性分析...

网友评论

      本文标题:照葫芦画图之多组相关性分析

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