ggpubr包快速得到相关性分析图

什么是相关性分析:

相关性分析用于评估两个或多个变量之间的关联。例如,如果我们想知道父母亲的身高和孩子的身高之间是否存在关系,可以计算父母亲与孩子的相关系数来回答这个问题。

计算相关性最常用的方法是Pearson相关方法。皮尔逊(Pearson)相关(r),它测量两个变量(x和y)之间的线性相关性。它也称为参数相关性检验,因为它取决于数据的分布。仅当x和y来自正态分布时才可以使用它。y = f(x)的图称为线性回归曲线。

相关性分析一直是研究者热衷于用的一种分析,指出两个或多个具备相关性的变量元素进行分析,从而衡量两个因素的相关密切程度,相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。ggpubr是基于ggplot2的一个包,在画图的时候比较省事,用一行代码可以做相关性分析。

安装加载安装包

第一种直接安装R包

install.packages(“ggpubr”)

library(ggpubr)

第二中通过github安装

if(!require(devtools)) install.packages(“devtools”)

devtools::install_github(“kassambara/ggpubr”)

library(ggpubr)

基础绘制相关性分析图

#mtcars

ggscatter(mtcars, x = “wt”, y = “mpg”,

color = “black”, size = 3, # 点的颜色与大小

add = “reg.line”, # 添加回归线

add.params = list(color = “red”, fill = “lightgray”), # 回归线的颜色设置为红色,区间颜色设置为灰色

conf.int = TRUE, # 添加回归线的置信区间

cor.coef = TRUE, # 添加相关系数

cor.coeff.args = list(method = “pearson”, label.x = 3, label.sep = “\n”)#选择Pearson相关

)

截屏2023-06-09 11.57.10

便捷的添加R和P的作用

#用R中的自带鸢尾花的数据进行分析可以

data(“iris”)

p <- ggplot(data = iris, aes(x = Sepal.Width, y = Petal.Width, color = Species)) + geom_point() + geom_smooth(method = lm) +

scale_color_manual(values = c(‘#FF7400’, ‘#009999’, ‘#3914AF’)) +

labs(title = ‘iris’) +

theme_bw() + theme(plot.title = element_text(hjust = 0.5)) +

stat_cor(method = ‘pearson’, aes(x = Sepal.Width, y = Petal.Width, color = Species))

p

#stat_cor可以之间添加R和P值,做不同的鸢尾花的种类的花萼片Sepal宽度与花瓣Petal宽度的相关性,与ggplot用法类似,用斯皮尔曼的算法来进行计算pearson,添加点geom_point和平滑的曲线geom_smooth,设置不同的颜色,设置主题等theme_bw()等。

截屏2023-06-09 11.55.53

其实ggpubr包不仅可以快速的做出相关性分析的图,还可以绘制密度图、直方图、箱线图、散点图、小提琴图等,并且在添加p值等操作上更加的简便。ggpubr包涵盖了十来种函数,近30种图形,可以满足日常科研所需。例如:

  • ggdensity() 密度图
  • stat_overlay_normal_density() 密度图,同时叠加正态分布的图,有助于检查偏离值
  • gghistogram() 直方图。
  • ggecdf() 经验累积密度分布图
  • ggqqplot() 分位数-分位数图,简称QQ图。
  • ggboxplot() 箱图
  • ggviolin() 小提琴图
  • ggdotplot() 点图
  • ggstripchart() strip chart, 也可以称为一维散点图。
  • ggbarplot() 柱状图
  • ggline() 线图
  • ggerrorplot() Visualizing Error 绘制误差棒图
  • ggpie() 饼图
  • ggdonutchart() 甜甜圈饼图
  • ggdotchart()theme_cleveland() 克利夫兰点图
  • ggscatter() 散点图,stat_cor() 将有P值的相关系数添加到散点图中,stat_stars())

好了,这样我们的相关性分析就做好了,小伙伴们如果有什么问题就和小果讨论吧~