参考资料:《数据探掘 R语言实战》 p65-P68

install.packages("rattle") # 获取实验数据集
install.packages("ellipse") # 获取构建相关图的函数plotcorr
rm(list = ls())
library("ellipse") # 加载包
library("rattle")
data(weather) # 加载数据集
head(weather) # 查看数据集
##         Date Location MinTemp MaxTemp Rainfall Evaporation Sunshine
## 1 2007-11-01 Canberra 8.0 24.3 0.0 3.4 6.3
## 2 2007-11-02 Canberra 14.0 26.9 3.6 4.4 9.7
## 3 2007-11-03 Canberra 13.7 23.4 3.6 5.8 3.3
## 4 2007-11-04 Canberra 13.3 15.5 39.8 7.2 9.1
## 5 2007-11-05 Canberra 7.6 16.1 2.8 5.6 10.6
## 6 2007-11-06 Canberra 6.2 16.9 0.0 5.8 8.2
## WindGustDir WindGustSpeed WindDir9am WindDir3pm WindSpeed9am
## 1 NW 30 SW NW 6
## 2 ENE 39 E W 4
## 3 NW 85 N NNE 6
## 4 NW 54 WNW W 30
## 5 SSE 50 SSE ESE 20
## 6 SE 44 SE E 20
## WindSpeed3pm Humidity9am Humidity3pm Pressure9am Pressure3pm Cloud9am
## 1 20 68 29 1019.7 1015.0 7
## 2 17 80 36 1012.4 1008.4 5
## 3 6 82 69 1009.5 1007.2 8
## 4 24 62 56 1005.5 1007.0 2
## 5 28 68 49 1018.3 1018.5 7
## 6 24 70 57 1023.8 1021.7 7
## Cloud3pm Temp9am Temp3pm RainToday RISK_MM RainTomorrow
## 1 7 14.4 23.6 No 3.6 Yes
## 2 3 17.5 25.7 Yes 3.6 Yes
## 3 7 15.4 20.2 Yes 39.8 Yes
## 4 7 13.5 14.1 Yes 2.8 Yes
## 5 7 11.1 15.4 Yes 0.0 No
## 6 5 10.9 14.8 No 0.2 No
test_data <- weather[, 12:21] # 第12到21列为数值型
cor_matrix <- cor(test_data, use = "pairwise") # 两两变量求相关系数
cor_matrix # 显示结果
##              WindSpeed9am WindSpeed3pm Humidity9am Humidity3pm Pressure9am
## WindSpeed9am 1.00000000 0.47296617 -0.2706229 0.14665712 -0.35633183
## WindSpeed3pm 0.47296617 1.00000000 -0.2660925 -0.02636775 -0.35980011
## Humidity9am -0.27062286 -0.26609247 1.0000000 0.54671844 0.13572697
## Humidity3pm 0.14665712 -0.02636775 0.5467184 1.00000000 -0.08794614
## Pressure9am -0.35633183 -0.35980011 0.1357270 -0.08794614 1.00000000
## Pressure3pm -0.24795238 -0.33732535 0.1344205 -0.01005189 0.96789496
## Cloud9am 0.10184246 -0.02642642 0.3928416 0.55163264 -0.15755279
## Cloud3pm -0.02247149 0.00720724 0.2719381 0.51010790 -0.14100043
## Temp9am 0.06407405 -0.01776636 -0.4365506 -0.25568147 -0.46041819
## Temp3pm -0.23518635 -0.18756965 -0.3551186 -0.58167615 -0.25367375
## Pressure3pm Cloud9am Cloud3pm Temp9am Temp3pm
## WindSpeed9am -0.24795238 0.10184246 -0.02247149 0.06407405 -0.2351864
## WindSpeed3pm -0.33732535 -0.02642642 0.00720724 -0.01776636 -0.1875697
## Humidity9am 0.13442050 0.39284158 0.27193809 -0.43655057 -0.3551186
## Humidity3pm -0.01005189 0.55163264 0.51010790 -0.25568147 -0.5816761
## Pressure9am 0.96789496 -0.15755279 -0.14100043 -0.46041819 -0.2536738
## Pressure3pm 1.00000000 -0.12894408 -0.14383718 -0.49263629 -0.3454853
## Cloud9am -0.12894408 1.00000000 0.52521793 0.02104135 -0.2023440
## Cloud3pm -0.14383718 0.52521793 1.00000000 0.04094519 -0.1728142
## Temp9am -0.49263629 0.02104135 0.04094519 1.00000000 0.8444058
## Temp3pm -0.34548531 -0.20234405 -0.17281423 0.84440581 1.0000000
col <- 1:10 # 填充颜色
plotcorr(cor_matrix, col = col, type = "lower", diag = F)

相关性越强圆形越窄,左倾斜(\)表示负相关,右倾斜(/)表示正相关,例如Temp3pm和Temp9am为正相关

# numbers = T, diag = T
plotcorr(cor_matrix, numbers = T, type = "lower", diag = T)

  • col 设置椭圆填充颜色

  • type 设置显示上三角、下三角、全部显示(upper、lower、full)

  • diag 逻辑值,是否显示主对角线

  • numbers 逻辑值,是否用相关系数值取代椭圆,数值会增大10倍四舍五入

利用elliipse做相关图的更多相关文章

  1. Java基础-继承 利用接口做参数,写个计算器,能完成+-*/运算

    38.利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 ...

  2. 利用SCI做的一个足球答题系统

    SCI,异步串行通信接口,内置独立的波特率产生电路和SCI收发器,可以选择发送8或9个数据位(其中一位可以指定为奇或偶校验位). SCI是全双工异步串行通信接口,主要用于MCU与其他计算机或设备之间的 ...

  3. 利用toString做类型的判断

    //利用toString做类型的判断 : /*var arr = []; alert( Object.prototype.toString.call(arr) == '[object Array]' ...

  4. 利用boost做string到wstring转换,以及字符集转换 - Error - C++博客

    利用boost做string到wstring转换,以及字符集转换 - Error - C++博客 利用boost做string到wstring转换,以及字符集转换 #include <boost ...

  5. 利用Python做绝地科学家(外挂篇)

    i春秋作家:奶权 前言  玩吃鸡时间长的鸡友们 应该都知道现在的游戏环境非常差 特别在高端局 神仙满天飞 搞得很多普通玩家非常没有游戏体验  因为吃鸡的火爆 衍生出了一条巨大的外挂利益链 导致市面上出 ...

  6. python idea 利用树莓派做家庭报警系统

    1 利用树莓派做家庭报警系统idea 功能如下: 1.程序家侧人不在家(7:00-6:00) 2.树莓派搭配摄像头,对这门进行图像识别,如果变化,门开了,就报警: 3.报警的方式是给我发短信,采信,或 ...

  7. Unity利用AnimationCurve做物体的各种运动

    ​之前一直都是自己学习Unity各种做Demo,最近开始正式使用Unity来做一个款2d的游戏. 其中在做一个类似小球弹跳运动的时候遇到了点问题,查找了很多资料,无意间发现AnimationCurve ...

  8. 【译文】利用STAN做贝叶斯回归分析:Part 2 非正态回归

    [译文]利用STAN做贝叶斯回归分析:Part 2 非正态回归 作者 Lionel Hertzogn 前一篇文章已经介绍了怎样在R中调用STAN对正态数据进行贝叶斯回归.本文则将利用三个样例来演示怎样 ...

  9. KNIMI数据挖掘建模与分析系列_002_利用KNIMI做商超零售关联推荐

    利用KNIMI做商超零售关联推荐 http://blog.csdn.net/shuaihj 一.測试数据 须要測试数据,请留下邮箱 二.训练关联推荐规则 1.读取销售记录(sales.table) 2 ...

随机推荐

  1. websocket入门案例(echo)

    websocket是用来干什么的,具体的请自行百度. 本文实现一个简单的websocket的入门小例子,实现客户端发送一句换,服务器端返回.即一个简单的交互. 一.服务器端的实现 1.创建一个类实现S ...

  2. js基础学习之"=="与"==="的区别

    var a = 1; var b = 1; var c = "1"; 1. "==" 可理解为相等运算符.相等运算符比较时,会自己进行类型转换,等于什么类型就会 ...

  3. STM32必学的时钟系统

    STM32的时钟系统 相较于51单片机,stm32的时钟系统可以说是非常复杂了,我们现在看下面的一张图:   上图说明了时钟的走向,是从左至右的从时钟源一步步的分配给外设时钟.需要注意的是,上图左侧一 ...

  4. SprinMvc快速入门

    1.spring mvc Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架. 查看官方文档:https://docs.spring.io/sp ...

  5. fd定时器--timerfd学习

    定时器 可以用系统定时器信号SIGALARM 最近工作需要于是又发现了一个新玩意timerfd配合epoll使用. man 手册看一下 TIMERFD_CREATE(2) Linux Programm ...

  6. [转]DDR3基本概念5 - DDR仿真中出现的Memory overflow错误的处理

    ERROR: Memory overflow. Write to Address 7000fe with data xxxxxxxxxxxxxxxx4634899aabe03499 will be l ...

  7. Java反射判断对象实例所有属性是否为空

    https://www.jb51.net/article/201647.htm public static Boolean ObjectAllFieldsEmpty(Object obj) throw ...

  8. 带你理解MST性质

    写在前面 最小生成树的引出 假设要在n个城市之间建立通信联络网,则连通n个城市需要n-1条线路.在这种情况下,我们自然需要考虑一个问题,如何在最节省经费的条件下建立这个网络? 很自然地我们会想到,将各 ...

  9. yum设置取消代理

    unset http_proxy unset https_proxy 暂时取消代理,若永久取消代理,需要修改/etc/yum.conf 去掉 proxy=http://proxyhost:8080

  10. PLSQL批量执行SQL文件方法

    当需要执行多个sql文件,或者某个脚本中,sql语句数量很多时,手动逐个逐条执行不是一个明智的选择. PLSQL为我们提供了便捷的工具.使用方式如下: [工具]--[导入表]--[SQL插入]--[选 ...