基于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~ --------------------------- 笔者寄语:词典型情感分析对词典要求极高,词典中 ...
随机推荐
- Python自动发邮件-yagmail库
之前写过用标准库使用Python Smtplib和email发送邮件,感觉很繁琐,久了不用之后便忘记了.前几天看知乎哪些Python库让你相见恨晚?,看到了yagmail第三方库,学习过程中遇到一些问 ...
- iOS学习之VFL语言简介
什么是VFL语言 VFL(Visual Format Language),“可视化格式语言”. VFL是苹果公司为了简化autolayout的编码而推出的抽象语言. 语法说明 H:[cancelBut ...
- iOS 网易彩票-2框架搭建-代码重构
在上一篇中,我们基本已经把整个框架都搭建出来了,下面进行代码重构一下. 思路: 导航按钮,按下时,会变灰,那是系统自带了,通过自定义UIButton,实现按下按钮立即切换效果. MJTabBarCon ...
- linux mysql安装问题
1.rpm -qa | grep mysql //首先检查是否安装了mysql 2.如果安装了,卸载 rpm -e mysql 3\ 下载地址 http://dev.mysql.com/d ...
- windows上备份mysql数据库
方案一:采用mysql自带的工具mysqldump. 脚本文件backup.bat如下: set "YMD=%date:~,4%%date:~5,2%%date:~8,2%"cd ...
- 3:4 OGNL 表达式二
总结: 一:ActionContext的结构: 1:set标签创建的对象也是作为非值栈对象. 2:(非值栈的存储都是以键值对的方式存的.) [问非值栈的 User对象] [用例] 关于request: ...
- VS2012快捷键突然不能用怎么办
晚上做项目做着做着,就去弄了下键盘配置,可怜的娃娃~~~一下子弄得什么快捷键都不能用了,比如”注释:ctrl+k ctrl+c”;问题纠结了我一个多钟,好在最后结合了网络上各路英雄的idea;解决了问 ...
- Python 迭代器切片
函数itertools.islice() 正好适用于在迭代器和生成器上做切片操作 >>> def count(n): ... while True: ... yield n ... ...
- json-lib基础
一.json-lib所需的jar包: json-lib.jar,commons-beanutils.jar,commons-collections.jar,commons-lang.jar,commo ...
- Java设计模式应用——责任链模式
生产一个产品,需要依次执行多个步骤,才能完成,那么是使用责任链模式则是极好的. 在性能告警模块开发过程中,创建一条告警规则需要执行阈值解析,中间表生成,流任务生成,规则入库,告警事件入库等诸多操作.如 ...