基于R进行相关性分析

一、相关性矩阵计算:

[1] 加载数据:

  >data = read.csv("231-6057_2016-04-05-ZX_WD_2.csv",header=FALSE)

说明:csv格式的数据,header=FALSE 表示没有标题,即数据从第一行开始。

[2]  查看导入数据的前几行,

>head(data)

  

[3] 删除数据的7,8列,都是0

  >data = data[1:6]

  >head(data)

  

[4] 计算相关性矩阵(可以自己指定采用的方法,"pearson", "kendall", "spearman")

  >cor_matr = cor(data)

  >cor_matr

   

二 相关系数的显著性水平(Correlation significance levels (p-value)

  使用Hmisc 包,不仅可以计算相关性矩阵,还可以计算对应的显著性水平

[1] 安装包 Hmisc (依赖包也会一并安装,lib代表安装包的路径)

  >install.packages("Hmisc",lib="E:/Program Files/R/R-3.3.0/library/")

[2] 加载包

  >library(Hmisc)

[3] 计算相关性和显著水平 (as.matrix(data) 表示将data转换成矩阵)

  >rcorr(as.matrix(data))

     

输出说明:

r :第一个矩阵为相关性矩阵

n :  处理数据的总记录数(行数)

P :  显著性水平矩阵(越小说明越显著)

三、可视化相关性分析

  • symnum() function
  • corrplot() function to plot a correlogram
  • scatter plots
  • heatmap

[1] 使用 symnum() 函数实现可视化 (cor_matr 是我们上文中cor()函数计算出来的相关性矩阵)

>symnum(cor_matr)

    

符号说明:在输出的最后一行,说明了符号的意义,例如 [0.9 , 0.95) 这个区间使用 * 表示。其他符号类似

[2] 使用 corrplot() 函数实现可视化(这里需要使用到corrplot包,没有安装的需要安装)

> library(corrplot)

>corrplot(cor_matr, type="upper", order="hclust", tl.col="black", tl.srt=45)

输出说明:用不同颜色表示了相关性的强度,根据最右边的颜色带来看,越接近蓝色说明相关性越高。其中圆形的大小也说明了行惯性的大小。

[3] 使用 PerformanceAnalytics 包进行可视化

>library(PerformanceAnalytics)

>chart.Correlation(data,histogram = TRUE,pch=19)

    

输出说明:

    •   对角线给出了变量自身的分布
    •   下三角形(对角线的左下方),给出了两个属性的散点图,可以看到第二行第一列的散点图显示出v1和v2具有很高的线性相关性
    •   上三小形(对角线的右上方),数字表示连个属性的相关性值,型号表示显著程度(星星越多表明越显著)

[4] heatmap 可视化

>col = colorRampPalette(c("blue", "white", "red"))(20)

>heatmap(x = cor_matr, col = col, symm = TRUE)

    

  说明:第一行是制作调色板,红色表示相关性最高。第二行参数说明,x: 相关性矩阵(前文已经计算),col: 调色板,symm: 以对称矩阵的形式显示(可以看到画出来的图是中心对称的,不过前提是输入的矩阵是方阵)

参考:

[1] Correlation matrix : A quick start guide to analyze, format and visualize a correlation matrix using R software

http://www.sthda.com/english/wiki/correlation-matrix-a-quick-start-guide-to-analyze-format-and-visualize-a-correlation-matrix-using-r-software

[2] Significance of the Correlation Coefficient

http://janda.org/c10/Lectures/topic06/L24-significanceR.htm

[3] Installing R packages

https://www.r-bloggers.com/installing-r-packages/

使用R进行相关性分析的更多相关文章

  1. 基于R进行相关性分析--转载

    https://www.cnblogs.com/fanling999/p/5857122.html 一.相关性矩阵计算: [1] 加载数据: >data = read.csv("231 ...

  2. R_Studio(学生成绩)数据相关性分析

    对“Gary.csv”中的成绩数据进行统计量分析 用cor函数来计算相关性,method默认参数是用pearson:并且遇到缺失值,use默认参数everything,结果会是NA 相关性分析 当值r ...

  3. 用R进行文本分析初探——以《红楼梦》为例

    一.写在前面的话~ 刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学,细细说一会儿文本分析. 文本数据挖掘(Text ...

  4. Python文章相关性分析---金庸武侠小说分析

    百度到<金庸小说全集 14部>全(TXT)作者:金庸 下载下来,然后读取内容with open('names.txt') as f: data = [line.strip() for li ...

  5. R语言︱情感分析—词典型代码实践(最基础)(一)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:词典型情感分析对词典要求极高,词典中 ...

  6. python数据相关性分析 (计算相关系数)

    #-*- coding: utf-8 -*- #餐饮销量数据相关性分析 计算相关系数 from __future__ import print_function import pandas as pd ...

  7. 试题 H: 人物相关性分析 第十届蓝桥杯

    试题 H: 人物相关性分析时间限制: 1.0s 内存限制: 512.0MB 本题总分: 20 分[问题描述]小明正在分析一本小说中的人物相关性.他想知道在小说中 Alice 和 Bob有多少次同时出现 ...

  8. Python文章相关性分析---金庸武侠小说分析-2018.1.16

    最近常听同事提及相关性分析,正巧看到这个google的开源库,并把相关操作与调试结果记录下来. 输出结果: 比较有意思的巧合是黄蓉使出打狗棒,郭靖就用了降龙十八掌,再后测试了名词的解析. 小说集可以百 ...

  9. Spark MLlib基本算法【相关性分析、卡方检验、总结器】

    一.相关性分析 1.简介 计算两个系列数据之间的相关性是统计中的常见操作.在spark.ml中提供了很多算法用来计算两两的相关性.目前支持的相关性算法是Pearson和Spearman.Correla ...

随机推荐

  1. PCB成型製程介紹

    PCB成型製程在電子構裝中所扮演的角色 下圖是電腦主機的內部組成 我們將以插在主機板上的一片 USB擴充卡來說明PCB成型製 程在電子構裝中所扮演的角色 PCB成型製程的子製程 USB擴充卡要插入主機 ...

  2. openStack 王者归来之 trivial matters

    <一,openStack img 制作> tips:制作大部分cloud platforms img准备工作. <1,> http://www.pubyun.com/blog/ ...

  3. 保存android程序崩溃日志到SD卡

    private boolean writeToSDCard(Throwable ex) { boolean isDealing = false; if (Environment.getExternal ...

  4. 有关VS2008制作安装包时遇到的问题详解

    公司最近要做一个安装包,然而在做的时候遇到好多问题,这里我一一记录下来 一.先用VS2008建一个Setup项目,添加你需要打包的文件,这里我就不具体介绍了,网上一搜都好多,这时我们一般都需要在安装前 ...

  5. Sql 字符串操作类COALESCE

    SqlServer中肯定有过将表中某列的值拼接成字符串,以","或者其他符号隔开的情况吧,一般情况我们会这样做: declare @returnValue nvarchar(max ...

  6. 如何用cocoapods 来管理项目中的第三方框架?

     一.安装 1.如果以前安装过,升级到10.10后工作不正常,可以先删除cocoapods $ sudo gem uninstall cocoapods ----------------------- ...

  7. iOS中运用正则表达式

    iOS中运用正则表达式来匹配短信验证码,电话号码,邮箱等是比较常见的. 在iOS中运用正则表达式主要有三种方式: -:通过谓词下面是实例代码: - (BOOL)regularExpresionWith ...

  8. ExtJs007最常用的查询方法

    Ext.onReady(function () { Ext.create('Ext.panel.Panel', { title: '我的面板', width: '100%', height: 400, ...

  9. 线段树讲解(数据结构、C++)

    声明    : 仅一张图片转载于http://www.cnblogs.com/shuaiwhu/archive/2012/04/22/2464583.html,自己画太麻烦了...那个博客的讲解也很好 ...

  10. POJ 1797 Heavy Transportation 最短路变形(dijkstra算法)

    题目:click here 题意: 有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量.分析: 其实这个求最大边可以 ...