R语言——相关性矩阵

# 读取数据

data <- read.csv("H://zombie//Total_data.csv")        #原始数据,要求第一排为列名

mydata <- data[, c(15:22)] # 选择需要计算相关性的列

mydata<-na.omit(mydata) # 删除含NA的行

#data<-subset(data,列名!="NA")  # 删除含NA的列

# 计算相关性

res <- cor(mydata)

round(res, 2)#保留两位小数

# 可视化相关性矩阵

library(corrplot)#先加载包 # 相关包的下载 可以在界面栏那边下载哦!

corrplot(res, type = "lower", order = "hclust", tl.col = "black", tl.srt = 45)

#type: “upper”, “lower”, “full”,显示上三角还是下三角还是全部

#order:用什么方法,这里是hclust

#tl.col (for text label color) and tl.srt (for text label string rotation) :控制文本颜色以及旋转角度

#保存图片

# 这边建议 右键保存为 PDF 然后进行裁剪

setwd("C://Users//戏法波//Desktop")

savePlot(filename = "相关性矩阵图2", type ="png", device = dev.cur(), restoreConsole = TRUE)

# 计算显著性

library(Hmisc)#加载包

res2 <- rcorr(as.matrix(mydata))

res2

# 绘制显著性矩阵

# Insignificant correlations are leaved blank

#corrplot(res2$r, type="upper", order="hclust", p.mat = res2$P, sig.level = 0.01, insig = "blank")

savePlot("CTplot", type=c("jpg"),device=dev.cur(),restoreConsole=TRUE)

# 高级复合图

library(PerformanceAnalytics)#加载包

chart.Correlation(mydata, histogram=TRUE, pch=19)

#对角线上显示的是分布图

#左下部显示的是具有拟合线的双变量散点图

#右上部显示的是相关系数以及显著性水平

# 聚类热图

col<- colorRampPalette(c("blue", "white", "red"))(20)#调用颜色版自定义颜色

heatmap(x = res, col = col, symm = TRUE)#symm表示是否对称

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容