本次,介绍一下相关性分析以及相关性分析可视化常用方法。

0. 相关数据

library(learnasreml)
library(tidyverse)
data(fm)
str(fm)dd = fm %>% select(-c(1:5))
head(dd)

1. 相关性分析

1.1 R语言默认函数cor

cor(dd)


这里,原始数据中有缺失值,所以有NA,所以我们需要考虑缺失值,修改的代码如下:

cor(dd,use = "complete.obs")

相关性结果:

上面还有一个缺陷,没有给出显著性检验,默认的cor.test只能对两个变量进行显著性检验,比如:

cor.test(dd[,1],dd[,2])

1.2 使用Hmisc包中的rcorr函数

Hmisc包中的rcorr函数可以对多个变量进行相关性计算,并且计算显著性。

注意,需要将变量转化为矩阵,才可以进行分析。

library(Hmisc)
dd = as.matrix(dd)
rcorr(dd)

结果如下:

> rcorr(dd)dj    dm   wd    h1   h2    h3   h4   h5
dj  1.00  0.38 0.86  0.04 0.04 -0.02 0.07 0.03
dm  0.38  1.00 0.57 -0.03 0.03 -0.05 0.05 0.04
wd  0.86  0.57 1.00  0.11 0.14  0.07 0.18 0.15
h1  0.04 -0.03 0.11  1.00 0.58  0.47 0.47 0.44
h2  0.04  0.03 0.14  0.58 1.00  0.83 0.79 0.73
h3 -0.02 -0.05 0.07  0.47 0.83  1.00 0.82 0.75
h4  0.07  0.05 0.18  0.47 0.79  0.82 1.00 0.91
h5  0.03  0.04 0.15  0.44 0.73  0.75 0.91 1.00ndj  dm  wd  h1  h2  h3  h4  h5
dj 826 824 826 826 826 826 823 823
dm 824 825 825 825 825 825 822 822
wd 826 825 827 827 827 827 824 824
h1 826 825 827 827 827 827 824 824
h2 826 825 827 827 827 827 824 824
h3 826 825 827 827 827 827 824 824
h4 823 822 824 824 824 824 824 824
h5 823 822 824 824 824 824 824 824Pdj     dm     wd     h1     h2     h3     h4     h5
dj        0.0000 0.0000 0.2023 0.2388 0.6239 0.0399 0.3939
dm 0.0000        0.0000 0.4264 0.3668 0.1415 0.1619 0.2514
wd 0.0000 0.0000        0.0013 0.0000 0.0314 0.0000 0.0000
h1 0.2023 0.4264 0.0013        0.0000 0.0000 0.0000 0.0000
h2 0.2388 0.3668 0.0000 0.0000        0.0000 0.0000 0.0000
h3 0.6239 0.1415 0.0314 0.0000 0.0000        0.0000 0.0000
h4 0.0399 0.1619 0.0000 0.0000 0.0000 0.0000        0.0000
h5 0.3939 0.2514 0.0000 0.0000 0.0000 0.0000 0.0000

上面结果中:

  • 第一部分是相关系数
  • 第二部分是有效观测值
  • 第三部分是显著性

所以,我们使用第一部分相关系数,和第三部分显著性结果即可。

2. 相关性系数可视化

R包进行相关系数可视化时,会将相关系数和显著性也输出到图片中,一步到位。

2.1 PerformanceAnalytics包中的chart.Correlation

代码如下:

library(PerformanceAnalytics)
chart.Correlation(dd)

2.2 corrplot包中的corrplot

注意corrplot的对象,需要时相关系数,而不是原始数据。

library(corrplot)
re = cor(dd,use = "complete.obs")
corrplot(re)


没有给出显著性,不太友好。

2.3 GGally包中的chart.ggpairs

注意,ggpairs的对象,需要是数据框,所以要转化为数据框。

library(GGally)
dd = as.data.frame(dd)
ggpairs(dd)

ggpairs的好处是,还可以进行分组。比如这里按照两组进行划分。

fm数据框中,有两个密度,这里,我们按照密度进行分组。

ggpairs(fm, columns = (6:13),ggplot2::aes(color = fm$Spacing))

3. 所有代码汇总

library(learnasreml)
library(tidyverse)
data(fm)
str(fm)dd = fm %>% select(-c(1:5))
head(dd)# 相关系数
cor(dd)
cor(dd,use = "complete.obs")cor.test(dd[,1],dd[,2])library(Hmisc)
dd = as.matrix(dd)
rcorr(dd)# 相关系数可视化
library(PerformanceAnalytics)
chart.Correlation(dd)library(corrplot)
re = cor(dd,use = "complete.obs")
corrplot(re)library(GGally)
dd = as.data.frame(dd)
ggpairs(dd)ggpairs(fm, columns = (6:13),ggplot2::aes(color = fm$Spacing))

R语言相关性分析和相关性分析可视化常用方法汇总相关推荐

  1. R语言描述性统计分析:相关性分析

    R语言描述性统计分析:相关性分析 相关性分析:pearson.spearman.kendall 相关性系数的显著性检验: 偏相关性分析: library(ISwR) attach(thuesen) c ...

  2. R语言的Copula变量相关性分析

    在工程.水文和金融等各学科的研究中,总是会遇到很多变量,研究这些相互纠缠的变量间的相关关系是各学科的研究的重点.虽然皮尔逊相关.秩相关等相关系数提供了变量间相关关系的粗略结果,但这些系数都存在着无法克 ...

  3. R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入、生存对象生成、ggsurvplot可视化参数配置、设置、可视化对比

    R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入.生存对象生成.ggsurvplot可视化参数配置.设置.可视化对比 目录 R语言使用survminer包生 ...

  4. R-GIS: 如何用R语言实现GIS地理空间分析及模型预测

    前言:随着地理信息系统(GIS)和大尺度研究的发展,空间数据的管理.统计与制图变得越来越重要.R语言在数据分析.挖掘和可视化中发挥着重要的作用,其中在空间分析方面扮演着重要角色,与空间相关的包的数量也 ...

  5. R语言指数平滑预测法分析南京出租车打车软件空载率时间序列补贴政策可行性...

    报告链接:http://tecdat.cn/?p=32161 本文通过建立空载率的数学模型,帮助客户来分析出租车的空载率,从而对出租车补贴政策能否提高高峰期的实载率,缓解打车难问题进行了说明(点击文末 ...

  6. r语言 bsda包_使用R语言creditmodel包进行Vintage分析或留存率分析

    1 什么是vintage分析? Vintage分析(账龄分析法)被广泛应用于信用卡及信贷行业,这个概念起源于葡萄酒,即不同年份出产的葡萄酒的品质有差异,那么不同时期开户或者放款的资产质量也有差异,其核 ...

  7. 单因素方差分析_基于R语言开展方差分析(一)——单因素方差分析

    基本原理 方差分析(Analysis of variance, ANOVA)是用于两个或两个以上样本均数比较的方法,还可以分析两个或多个研究因素的交互交互作用以及回归方程的线性假设检验等.其基本思想是 ...

  8. R语言分位数回归Quantile Regression分析租房价格

    全文链接:http://tecdat.cn/?p=18422 本文想在R软件中更好地了解分位数回归优化.在查看分位数回归之前,让我们从样本中计算中位数或分位数(点击文末"阅读原文" ...

  9. R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    原文链接:http://tecdat.cn/?p=22215 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以使这些变量差分而平 ...

  10. 使用R语言creditmodel包进行Vintage分析或留存率分析

    1 什么是vintage分析? Vintage分析(账龄分析法)被广泛应用于信用卡及信贷行业,这个概念起源于葡萄酒,即不同年份出产的葡萄酒的品质有差异,那么不同时期开户或者放款的资产质量也有差异,其核 ...

最新文章

  1. scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离
  2. Laravel中优雅的验证日期需要大于今天
  3. Arrays.sort() 为什么可以对 int 等数组进行排序?我跟面试官扯了半个小时 | 原力计划...
  4. 蓝桥杯 基础练习 01字串(水题)
  5. 自动化测试基础篇--Selenium发送测试报告邮件
  6. 与7无关的数(前缀和)
  7. mysql之我们终将踩过的坑(优化)
  8. element-UI级联选择器的使用Cascader
  9. DCMTK各模块说明
  10. c语言家庭财务管理算法,c语言家庭财务管理报告.doc
  11. python脚本注册服务+pyinstaller打包exe开机自启动服务
  12. 汇编dos系统调用(输入输出篇)
  13. 计算机病毒查杀记录,如何看eset nod32防病毒查杀历史记录?
  14. 完美解决Java IO流读取中文文本文件乱码问题
  15. 别的计算机对我电脑无访问权限,为什么他人访问不了我的电脑,说没有权限
  16. Unity 脚本中的几种等待方法
  17. 齐次线性方程组的基础解系
  18. UniAPP HBuilderX 运行到各个小程序开发工具
  19. u盘启动工具哪个好用
  20. html自动刷新倒计时,javascript – 倒计时结束时刷新页面

热门文章

  1. 2017上海国际校服·园服展览会会刊(参展商名录)
  2. win10自带便签工具使用
  3. Go语言常用标准库——log、net_http、strconv、time包
  4. android 手势检测(左右滑动、上下滑动)
  5. (0102)iOS开发之iPad分屏多任务: Slide Over Split View
  6. 树莓派微型计算机教程,一步即达——Lakka傻瓜教程
  7. 【一篇文章搞懂】什么是分布式锁?为什么要用分布式锁?看这篇文章准没错!
  8. 机器学习100天(三十):030 K近邻分类算法-K值的选择
  9. [arxiv:1905.d] 论文 Digital Collaborative Conversations 阅读报告
  10. arduino烧录_ASP烧录Bootloder