用原始表型获得相关性系数的矩阵数据的话,则可以使用psych包的corr.test函数。
导入数据,注意不要表头不要在里面,不然不能识别,而且不能两列没有一个相关的数据。
library(psych)
cor<-corr.test(states, use = "complete", method = "pearson", adjust = "none")
cor_r<-cor$r
cor_p<-cor$p
接下来可视化使用corrplot包
注意,这里比其他教程多一个调教颜色的步骤,应为发现默认的颜色解释红色→蓝色(-1→1),不符合正常的图注习惯。
这里使用RColorBrewer包中的RdYlBu颜色集中,去除最后一个紫色。
image.png
mycolors<-brewer.pal(10,"RdYlBu")[10:1]
先画一半,这一半是FPC排序的,不是按照你输入的原始顺序,这里做一个按照主成分分析的排序,能够让你更加方便解释数据。最后两个参数的意思是将显著性低于0.001的打×,显著性不够,其相关性不做考虑。
corrplot(cor_r, method = "pie", type = "lower", order= "FPC", tl.pos = "tp", tl.col = "black", cl.pos = "r", mar = c(1,1,1,1),col=mycolors,p.mat= cor_p,sig.level= 0.001)
再画一半,这里是纯数字的相关性系数,比较简洁好看。其他参数一致。
corrplot(cor_r, method = "number", type = "upper", order= "FPC",add = TRUE, diag = FALSE, tl.pos = "n", cl.pos = "n",mar = c(1,1,1,1),col=mycolors,addCoefasPercent = TRUE,p.mat= cor_p,sig.level= 0.001)
image.png
网友评论