基于R进行相关性分析--转载
https://www.cnblogs.com/fanling999/p/5857122.html
一、相关性矩阵计算:
[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
[2] Significance of the Correlation Coefficient
http://janda.org/c10/Lectures/topic06/L24-significanceR.htm
[3] Installing R packages
基于R进行相关性分析--转载的更多相关文章
- 使用R进行相关性分析
基于R进行相关性分析 一.相关性矩阵计算: [1] 加载数据: >data = read.csv("231-6057_2016-04-05-ZX_WD_2.csv",head ...
- R_Studio(学生成绩)数据相关性分析
对“Gary.csv”中的成绩数据进行统计量分析 用cor函数来计算相关性,method默认参数是用pearson:并且遇到缺失值,use默认参数everything,结果会是NA 相关性分析 当值r ...
- R语言学习 - 非参数法生存分析--转载
生存分析指根据试验或调查得到的数据对生物或人的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小的方法,也称生存率分析或存活率分析.常用于肿瘤等疾病的标志物筛选.疗效及预后的考 ...
- 基于R树索引的点面关系判断以及效率优化统计
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在之前的博客中,我分别介绍了基于网格的空间索引(http:// ...
- (数据科学学习手札10)系统聚类实战(基于R)
上一篇我们较为系统地介绍了Python与R在系统聚类上的方法和不同,明白人都能看出来用R进行系统聚类比Python要方便不少,但是光介绍方法是没用的,要经过实战来强化学习的过程,本文就基于R对2016 ...
- 【转】时间序列分析——基于R,王燕
<时间序列分析——基于R>王燕,读书笔记 笔记: 一.检验: 1.平稳性检验: 图检验方法: 时序图检验:该序列有明显的趋势性或周期性,则不是平稳序列 自相关图检验:(ac ...
- 统计学习导论:基于R应用——第二章习题
目前在看统计学习导论:基于R应用,觉得这本书非常适合入门,打算把课后习题全部做一遍,记录在此博客中. 第二章习题 1. (a) 当样本量n非常大,预测变量数p很小时,这样容易欠拟合,所以一个光滑度更高 ...
- Python文章相关性分析---金庸武侠小说分析
百度到<金庸小说全集 14部>全(TXT)作者:金庸 下载下来,然后读取内容with open('names.txt') as f: data = [line.strip() for li ...
- R语言︱情感分析—词典型代码实践(最基础)(一)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:词典型情感分析对词典要求极高,词典中 ...
随机推荐
- vue-页面回退
<template> <div> <button @click="goback">我是Home01</button> </di ...
- vertx读取配置文件,获得端口号
1:在src/conf目录下创建conf.json { } 2:创建Verticle, config().getInteger("http.port", 8080),将会读取配置文 ...
- Iterator源码解读
//继承关系 public interface Inteator { boolean hasNext(); Object next(); } public interface Iterable { I ...
- nodejs 将网上的图片下载到本地文件
var request = require('request'); var fs = require('fs'); var img_src = 'https://www.baidu.com/img/b ...
- jmeter 正则表达式提取器的使用(提取第一个匹配结果)
原文地址https://www.cnblogs.com/xueli/p/7405258.html?utm_source=itdadao&utm_medium=referral 正则表达式的用处 ...
- VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)
鸡啄米在上一节中讲的是VS2010的菜单资源,本节主要讲菜单及CMenu类的使用. CMenu类的主要成员函数 MFC为菜单的操作提供了CMenu类,下面鸡啄米就常用的几个成员函数进行简单的介绍. B ...
- linux导出、导入sql
linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据 ...
- Codeforces 1144G Two Merged Sequences
题意: 将一个序列分成两个序列,两个序列中元素的相对顺序保持和原序列不变,使得分出的两个序列一个严格上升,一个严格下降. 思路: 我们考虑每个元素都要进入其中一个序列. 那么我们维护一个上升序列和一个 ...
- loadrunner:HTTP接口脚本实例
Action() { lr_rendezvous("getAppHomeModulesList"); lr_start_transaction("getAppHomeMo ...
- Linux基础命令---findfs
findfs 查找指定卷标或者UUID的文件系统对应的设备文件.findfs将搜索系统中的磁盘,寻找具有标签匹配标签或与UUID相等的文件系统.如果找到文件系统,文件系统的设备名称将打印在stdout ...