R语言进行相关矩阵分析及其网络可视化

news2024/10/3 8:17:22

 数据准备

# 选择感兴趣的列
mydata <- mtcars %>% 
  select(mpg, disp, hp, drat, wt, qsec)
# 添加一些缺失值
mydata$hp[3] <- NA
# 检查数据
head(mydata, 3)
##                mpg disp  hp drat   wt qsec
## Mazda RX4     21.0  160 110 3.90 2.62 16.5
## Mazda RX4 Wag 21.0  160 110 3.90 2.88 17.0
## Datsun 710    22.8  108  NA 3.85 2.32 18.6

 

  相关视频:复杂网络分析CNA简介与R语言对婚礼数据聚类(社区检测)和可视化|数据分享

复杂网络分析CNA简介与R语言对婚礼数据聚类(社区检测)和可视化

计算相关矩阵


res.cor <- correlate(mydata)
res.cor
## # A tibble: 6 x 7
##   rowname     mpg    disp      hp     drat      wt     qsec
##   <chr>     <dbl>   <dbl>   <dbl>    <dbl>   <dbl>    <dbl>
## 1 mpg      NA      -0.848  -0.775   0.681   -0.868   0.419 
## 2 disp     -0.848  NA       0.786  -0.710    0.888  -0.434 
## 3 hp       -0.775   0.786  NA      -0.443    0.651  -0.706 
## 4 drat      0.681  -0.710  -0.443  NA       -0.712   0.0912
## 5 wt       -0.868   0.888   0.651  -0.712   NA      -0.175 
## 6 qsec      0.419  -0.434  -0.706   0.0912  -0.175  NA

该函数的其他参数correlate()包括:

  • method:字符串,指示要计算哪个相关系数(或协方差)。“pearson”(默认),“kendall”或“spearman”之一。
  • diagonal:将对角线设置为的值(通常为数字或NA)。

探索相关矩阵

过滤相关性高于0.8:

## # A tibble: 6 x 3
##   rowname colname    cor
##   <chr>   <chr>    <dbl>
## 1 disp    mpg     -0.848
## 2 wt      mpg     -0.868
## 3 mpg     disp    -0.848
## 4 wt      disp     0.888
## 5 mpg     wt      -0.868
## 6 disp    wt       0.888

特定的列/行

此函数的作用与dplyr类似slect(),但也会从行中排除选定的列。

  • 选择相关的结果。所选列将从行中排除:
## # A tibble: 3 x 4
##   rowname    mpg   disp     hp
##   <chr>    <dbl>  <dbl>  <dbl>
## 1 drat     0.681 -0.710 -0.443
## 2 wt      -0.868  0.888  0.651
## 3 qsec     0.419 -0.434 -0.706
  • 选定的列:
## # A tibble: 3 x 4
##   rowname     mpg    disp      hp
##   <chr>     <dbl>   <dbl>   <dbl>
## 1 mpg      NA      -0.848  -0.775
## 2 disp     -0.848  NA       0.786
## 3 hp       -0.775   0.786  NA
  • 删除不需要的列:
## # A tibble: 3 x 4
##   rowname   drat     wt   qsec
##   <chr>    <dbl>  <dbl>  <dbl>
## 1 mpg      0.681 -0.868  0.419
## 2 disp    -0.710  0.888 -0.434
## 3 hp      -0.443  0.651 -0.706
  • 按正则表达式选择列
## # A tibble: 4 x 3
##   rowname   disp    drat
##   <chr>    <dbl>   <dbl>
## 1 mpg     -0.848  0.681 
## 2 hp       0.786 -0.443 
## 3 wt       0.888 -0.712 
## 4 qsec    -0.434  0.0912
  • 选择高于0.8的相关性:
## # A tibble: 2 x 3
##   rowname   disp     wt
##   <chr>    <dbl>  <dbl>
## 1 disp    NA      0.888
## 2 wt       0.888 NA
  • 关注一个变量与所有其他变量的相关性:
# 提取相关系数
## # A tibble: 5 x 2
##   rowname    mpg
##   <chr>    <dbl>
## 1 disp    -0.848
## 2 hp      -0.775
## 3 drat     0.681
## 4 wt      -0.868
## 5 qsec     0.419
# 绘制mpg与其他变量之间的相关性

 

重新排序相关矩阵

## # A tibble: 6 x 7
##   rowname      wt     drat    disp     mpg      hp     qsec
##   <chr>     <dbl>    <dbl>   <dbl>   <dbl>   <dbl>    <dbl>
## 1 wt       NA      -0.712    0.888  -0.868   0.651  -0.175 
## 2 drat     -0.712  NA       -0.710   0.681  -0.443   0.0912
## 3 disp      0.888  -0.710   NA      -0.848   0.786  -0.434 
## 4 mpg      -0.868   0.681   -0.848  NA      -0.775   0.419 
## 5 hp        0.651  -0.443    0.786  -0.775  NA      -0.706 
## 6 qsec     -0.175   0.0912  -0.434   0.419  -0.706  NA

上/下三角

上/下三角形到缺失值

res.cor %>% shave()
## # A tibble: 6 x 7
##   rowname     mpg    disp      hp     drat      wt  qsec
##   <chr>     <dbl>   <dbl>   <dbl>    <dbl>   <dbl> <dbl>
## 1 mpg      NA      NA      NA      NA       NA        NA
## 2 disp     -0.848  NA      NA      NA       NA        NA
## 3 hp       -0.775   0.786  NA      NA       NA        NA
## 4 drat      0.681  -0.710  -0.443  NA       NA        NA
## 5 wt       -0.868   0.888   0.651  -0.712   NA        NA
## 6 qsec      0.419  -0.434  -0.706   0.0912  -0.175    NA

将数据拉伸为长格式

res.cor %>% stretch()
## # A tibble: 36 x 3
##   x     y           r
##   <chr> <chr>   <dbl>
## 1 mpg   mpg    NA    
## 2 mpg   disp   -0.848
## 3 mpg   hp     -0.775
## 4 mpg   drat    0.681
## 5 mpg   wt     -0.868
## 6 mpg   qsec    0.419
## # … with 30 more rows

使用tidyverse和corrr包处理相关性

可视化相关系数的分布:

 

重新排列并过滤相关矩阵:

res.cor %>%
  focus(mpg:drat, mirror = TRUE) %>% 

## # A tibble: 3 x 4
##   rowname     mpg    disp   drat
##   <chr>     <dbl>   <dbl>  <dbl>
## 1 hp       -0.775   0.786 -0.443
## 2 mpg      NA      -0.848  0.681
## 3 disp     NA      NA     -0.710

解释相关性

##   rowname  mpg disp   hp drat   wt qsec
## 1     mpg      -.85 -.77  .68 -.87  .42
## 2    disp -.85       .79 -.71  .89 -.43
## 3      hp -.77  .79      -.44  .65 -.71
## 4    drat  .68 -.71 -.44      -.71  .09
## 5      wt -.87  .89  .65 -.71      -.17
## 6    qsec  .42 -.43 -.71  .09 -.17
res.cor %>%
  focus(mpg:drat, mirror = TRUE)

##   rowname  mpg disp drat
## 1      hp -.77  .79 -.44
## 2     mpg      -.85  .68
## 3    disp           -.71
  • 制作相关图:

  • 重新排列然后绘制下三角形:

  • 制作网络 
 

关联数据库中的数据

  • 使用SQLite数据库:
con <- DBI::dbConnect(RSQLite::SQLite(), path = ":dbname:")
db_mtcars <- copy_to(con, mtcars)
class(db_mtcars)

correlate()检测数据库后端,用于tidyeval计算数据库中的相关性,并返回相关数据。

db_mtcars %>% correlate(use = "complete.obs")
  • 使用spark:
sc <- sparklyr::spark_connect(master = "local")
mtcars_tbl <- copy_to(sc, mtcars)
correlate(mtcars_tbl, use = "complete.obs")



  • 非常感谢您阅读本文,有任何问题请在下方留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54101.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于WiFi小车控制板的单片机小系统原理图

小系统&#xff0c;指的是的用少的元件组成的单片机可以工作的系统。一般在设计小系统的时候分为这四种必要的电路&#xff0c;分别是1、电源供电电路;2、单片机复位电路;3、时钟振荡电路;4、程序的下载接口电路。这次基于我们研发的WiFi小车51核心控制板的小系统原理图来讲一下…

uni-app实现支付及项目打包上传

本文主要介绍uni-app项目中如何实现支付功能&#xff08;支付宝支付、微信支付&#xff09;&#xff0c;及项目如何打包上传。 一、实现支付 前置工作&#xff0c;项目要实现支付功能&#xff0c;首先要在根目录manifest.json文件内App模块配置中进行设置。 其中&#xff0c;a…

机构运动学分析

背景介绍 空间机构具有结构紧凑、运动灵活等特点&#xff0c;在航空航天、精密仪器以及工业设备等领域具有广泛的应用。调研发现&#xff0c;机械臂一般采用伺服电机作为动力源&#xff0c;通过空间连杆驱动末端执行器&#xff0c;大大的减轻了工人的劳动强度。本节中主要是针对…

iconfont小图标从下载到引入到vue项目中的详细教程

地址&#xff1a;iconfont-阿里巴巴矢量图标库 iconfont小图标下载&#xff1a; &#xff08;1&#xff09;查找图标 在搜索框直接文字搜索或者看下面的小图标库&#xff0c;找想要的&#xff0c;每个小图标库都有一个名字&#xff0c;比如&#xff1a;“阿里云官网”&#x…

Vue2中$set的使用

一、什么场景下使用$set set为解决Vue2中双向数据绑定失效而生&#xff0c;只需要关注什么时候双向数据绑定会失效就可以了。 例如&#xff1a; 1.利用数组中某个项的索引直接修改该项的时候 arr[indexOfItem] newValue 2.直接修改数组的长度的时候 arr.length newLength …

gRPC学习笔记(一)

文章目录gRPC初学思维导图异步多函数多类的调用grpc初学总结&#xff1a;杂项gRPC初学思维导图 异步多函数多类的调用 一个类里有多个方法时&#xff0c; 两种方法&#xff1a; 定义不同的类&#xff08;推荐&#xff0c;只管自己的实现&#xff0c;换了请求类型&#xff0c;…

在linux系统上看全世界新闻 -- Clinews的使用详解

一. Clinews介绍 Clinews 和 InstantNews 类似&#xff0c;都是 Linux 命令行下的新闻客户端&#xff0c;安装及配置 Clinews 后就可以在 Linux 命令行下阅读新闻及头条新闻了&#xff0c; 当然还有博客新闻&#xff0c;不需要安装 GUI 应用或移动应用&#xff0c;轻松在 Linu…

值得收藏的30道Python练手题(附详解)

今天给大家分享30道Python练习题&#xff0c;建议大家先独立思考一下解题思路&#xff0c;再查看答案。 1.已知一个字符串为 “hello_world_yoyo”&#xff0c;如何得到一个队列 [“hello”,”world”,”yoyo”] &#xff1f; 使用 split 函数&#xff0c;分割字符串&#xf…

2022年最热门的短网址整理,让你不再选择恐惧

转眼一年又过去了&#xff0c;最近发现网络上有各种各样的短网址平台&#xff0c;让人眼花缭乱&#xff0c;都声称免费并且功能强大&#xff0c;但是据我的了解&#xff0c;很多免费的短网址都是有使用上的限制的&#xff0c;比如生成条数、访问次数、有广告等等、还有各种各样…

校招|拿到腾讯、阿里、字节等10家互联网测试开发岗的offer

前言 首先自我介绍一下&#xff0c;本人北京地区985本硕&#xff0c;工科非计算机专业&#xff0c;课程、毕设课题和编程以及测开都一点关系也没有。但是&#xff0c;通过自己的准备和实习积累的经验&#xff0c;在秋招的时候收获了10家互联网公司的测试开发岗和北京地区一些国…

数字图像处理(入门篇)四 像素关系

目录 1 像素关系 2 像素的领域 &#xff08;1&#xff09;4-邻域 &#xff08;2&#xff09;对角邻域 &#xff08;3&#xff09;8-领域 3 像素的邻接和连接 &#xff08;1&#xff09;4-连接 &#xff08;2&#xff09;8-连接 4 像素的连通 5 连通域 6 像素之间的距…

HMM隐马尔可夫模型

1.概率图模型&#xff1a;HMM&#xff08;隐马&#xff09;,MEMM&#xff08;最大熵&#xff09;,CRF&#xff08;条件随机场&#xff09;概率&#xff1a;既然是一个图那么就是一个有圈有边的结构&#xff0c;圈代表随机向量&#xff0c;随机变量之间有边&#xff0c;边上有概…

互联网企业面试必问 Spring 源码? 拿下Spring 源码,看完这篇就够了

前言 不用说&#xff0c;Spring 已经成为 Java 后端开发的事实上的行业标准。无数公司选择 Spring 作为基本开发框架。大多数 Java 后端程序员在日常工作中也会接触到 Spring。因此&#xff0c;如何很好地使用 Spring&#xff0c;已成为 Java 程序员的必修课之一。 同时&…

SoviChart数据可视化:散点图(Scatter plot)

什么是散点图 散点图也可以称为 x-y 图&#xff0c;用于展示数据的相关性和分布关系&#xff0c;由X轴和Y轴两个变量组成。通过因变量(Y轴数值)随自变量(X轴数值)变化的呈现数据的大致趋势&#xff0c;同时支持从类别和颜色两个维度观察数据的分布情况。 散点图通常用于显示和…

常见分布式事务解决方案

分布式事务&#xff1a;就是指事务的参与者、支持事务的服务器、资源服务器以及事务 管理器分别位于不同的分布式系统的不同节点之上。简单来说&#xff0c;分布式事务指 的就是分布式系统中的事务&#xff0c;它的存在就是为了保证不同数据库节点的数据一 致性。 聊到分布式事…

GIS工具maptalks开发手册(二)01——渲染点、文字和图片

GIS工具maptalks开发手册(二)01——渲染点、文字和图片 1、渲染点 效果 2、渲染文字 效果 3、渲染图片 效果 4.1、html单页面 <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-wi…

【人工智能与机器学习】——K近邻(KNN)与模型选择(学习笔记)

&#x1f4d6; 前言&#xff1a;人们常常说&#xff0c;“近朱者赤&#xff0c;近墨者黑“&#xff0c;”物以类聚&#xff0c;人以群分”&#xff0c;&#xff0c;我们想考察一个家庭的经济状况&#xff0c;可以问问住在哪里。如果家住在广州珠江新城&#xff0c;经济状况一定…

Unity的机器学习工具包ML-Agents

官方&#xff1a;Unity ML-Agents深度学习工具包&#xff5c;Unity中国官网 | Unity中国官网 Github下载链接&#xff1a;https://github.com/Unity-Technologies/ml-agents ML-Agents是游戏引擎Unity3D中的一个插件&#xff0c;也就是说&#xff0c;这个软件的主业是用来开发…

初始操作系统之进程

文章目录一、什么是操作系统二、进程PCB内存管理一、什么是操作系统 操作系统*&#xff08;英语&#xff1a;Operating System&#xff0c;缩写&#xff1a;OS&#xff09;*是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统…

Mybatis的BindingException异常产生原因及解决办法详解

一. 问题背景 今天壹哥在讲完MyBatis后&#xff0c;有学生在进行代码练习时遇到了下面这样的一个异常&#xff0c;先上图&#xff1a; 二. 问题分析 1. 原因分析 首先我们看到&#xff0c;这里抛出的异常是org.apache.ibatis.binding.BindingException&#xff0c;接着再看异…