R语言用相关网络图可视化分析汽车配置和饮酒习惯

我们经常使用的一个关系性指标是相关性。通过可以利用数据框架和绘图来帮助探索相关关系。

由Kaizong Ye,Liao Bao撰写

本文先创建了相关关系的关系数据框,然后绘制了关系结构。

我们将使用以下库。

library(tidyverse)
library(igraph)

基本方法

给定一个由数字变量组成的数据框d,我们想在网络中绘制其相关性,这里有一个基本方法。

# 创建相关数据框
d %>% 
  correlate() %>% 

# 将强于某个值的相关关系转换成转换为一个无向图的对象
cors %>% 
  filter(abs(r) 

# 绘制
plot(cors)

例子1:汽车参数配置关联变量

让我们按照这个方法来处理汽车数据集。默认情况下,所有的变量都是数字的,所以我们不需要做任何预处理。

我们首先创建一个相关性数据框,并将其转换为一个图形对象。

  correlate() %>% 
  stretch()

课程

R语言数据分析挖掘必知必会

从数据获取和清理开始,有目的的进行探索性分析与可视化。让数据从生涩的资料,摇身成为有温度的故事。

立即参加

接下来,我们将这些值转换为一个无向图对象。该图是不定向的,因为相关关系没有方向。相关关系没有因果关系。

因为,我们通常不希望看到所有的相关关系,我们首先过滤()出绝对值小于某个阈值的任何相关关系。例如,让我们包括0.3或更强的相关关系(正或负)。

cors %>%
  filter(abs(r) > .3) %>%

我们绘制这个对象。下面是一个基本图。

plot(cors)

R语言复杂网络分析:聚类(社区检测)和可视化

阅读文章


改进之后的。

plot(cors,width = abs(r), color = r,title="汽车变量之间的相关关系")


随时关注您喜欢的主题


例子2:有类似饮酒习惯的国家

这个例子需要进行一些数据预处理,我们只看强正相关。

让我们来看一个关于世界各国的啤酒、葡萄酒饮用量的数据。

drinkdata

我想找出欧洲和美洲的哪些国家有类似的啤酒、葡萄酒和烈酒饮用习惯,以及澳大利亚在其中的地位

绑定地理信息并找到我感兴趣的国家,把这些数据变成相关数据的形状。

# 标准化数据以检查相对数量。
# 而不是绝对数量
# 啤酒、葡萄酒和烈酒的相对数量
d %>% mutate_if(is.numeric, scale)

# 整理数据
%>% 
  gather(type, litres, -country) %>% 
  drop_na() %>% 


#转换成宽数据以便进行关联分析
 %>% 
  spread(country, litres) %>%

这个数据包括每个国家喝的啤酒、葡萄酒和烈酒数量的Z-scores。

我们现在可以继续使用我们的标准方法。因为我只对哪些国家真正相似感兴趣,我们过滤相关系数低的数据。(r>0.9)

plot(cors,alpha = r, color = r,title = "哪些国家有类似的饮酒习惯?")
  

这些国家的饮酒行为分为三个群组。例如澳大利亚与许多西欧和北欧国家如英国、法国、荷兰、挪威和瑞典一起出现在左上方的集群中。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds