大家好!欢迎关注小号:医学统计数据分析,今天我们来介绍一下常用统计学方法的R语言基本操作中,相关性分析及相关图的画法。
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
我们先下载R与Rstudio的安装包,先安装R,再安装Rstudio。RStudio是一款R语言的集成开发环境(IDE),R自带的环境操作起来可能不是方便,而Rstudio很好地解决了这个问题,RStudio只是辅助你使用R进行编辑的工具,因为它自身并不附带R程序。
R下载地址(官网):
https://cran.r-project.org/bin/windows/base/
Rstudio(官网):
https://rstudio.com/
打开RStudio之后,会出现上图所示的窗口,其中有四个独立的面板。RStudio界面分为左上角的源码编辑、脚本显示,左下角的代码执行、控制台,右上角的代码历史记录、数据对象列表,右下角的代码组织管理、包安装、更新、绘图。
我们以下图所示数据为例:
我们先整理一下操作空间:
rm(list=ls())#清空所有数据变量列表
install.packages() #安装包
library() #加载包
#加载所需包并加载数据
library(readxl) #读取Excel包
data <- read_excel(C:/Users/LENOVO/Desktop/测试数据.xlsx)
我们直接plot(data)
我们用R自带的cor()函数,直接对指标1和指标2进行相关性分析,得到相关系数
cor <- cor(data$指标1, data$指标2)
cor
直接用plot()函数绘制指标1及指标2的散点图:
plot(data$指标1, data$指标2)
#直接用cor()函数对所有数据data生成相关系数矩阵
res <- cor(data)
res
#可以使用round()函数对相关系数进行保留两位小数的操作:
round(res, 2)
#我们可以使用corrplot()包对相关系数矩阵进行绘图,上半部分与下半部分是对称关系。
增加type = "upper",语句,可以仅保留上半部分,
调整tl.col = "red",语句,可以改变标签颜色
增加type = "lower",语句,可以仅保留下半部分,
调整tl.col = "blue",语句,可以改变标签颜色
上边的相关分析仅可得到相关系数,并不能得到P值,我们可以安装并加载Hmisc包进行P值的运算:
library(Hmisc)#加载包
res2 <- rcorr(as.matrix(data))
res2
也可以选择单独输出相关系数或P值:
res2$r
res2$P
通过sig.level = 0.05可以对corrplot()绘图的点进行选择,仅保留有显著相关性的数据对,insig = "blank"则规定无显著相关的数据对显示为空白。
corrplot(res2$r, type="upper", p.mat = res2$P, sig.level = 0.05, insig = "blank")
通过colorRampPalette()包可以调用颜色版自定义颜色,接着使用heatmap()包可以根据规定的调色板绘制热图矩阵。
col<- colorRampPalette(c("blue", "white", "red"))(100)
heatmap(x = res, col = col, symm = TRUE)