前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Github项目推荐 | visdat - 数据初步探索性可视化工具

Github项目推荐 | visdat - 数据初步探索性可视化工具

作者头像
AI研习社
修改2019-08-07 17:17:42
8290
修改2019-08-07 17:17:42
举报
文章被收录于专栏:AI研习社

visdat - Preliminary Exploratory Visualisation of Data

by rOpenSci

Site:http://visdat.njtierney.com/

如何安装?

你可以在CRAN获取visdat

代码语言:javascript
复制
install.packages("visdat")

如果您想使用开发版本,请从github安装:

代码语言:javascript
复制

# install.packages("devtools")
devtools::install_github("ropensci/visdat")

visdat能做什么?

vis_dat最初受到csv-fingerprint的启发,通过使用vis_dat将数据框中的变量类显示为带有vis_dat的绘图,并使用vis_miss简要查看丢失的数据模式,vis_dat将帮助你可视化数据框并“查看数据”。

visdat 的六大特点如下:

  • vis_dat()将数据框可视化,显示列的类别,并显示缺少的数据。
  • vis_miss()只显示缺失的数据,并允许对缺失进行聚类并重新排列列。 vis_miss()类似于mi包中的missing.pattern.plot。 然而不幸的是,missing.pattern.plot已经不再出现在mi包中(截至2016年2月14日)。
  • vis_compare()将相同维度的两个数据帧之间的差异可视化
  • vis_expect()将数据中某些条件成立的位置可视化
  • vis_cor()在一个漂亮的热图中对变量的相关性可视化
  • vis_guess()将数据中各个类的earch值可视化

你可以在“using visdat”小节中查看更多关于visdat的信息。

请注意,本项目随着贡献者行为准则一起发布。 参与此项目即表示同意遵守其条款。

示例

  • 使用 vis_dat()

让我们看看基地R的airquality(空气质量)数据集中的内容,其中包含有关1973年5月至9月纽约每日空气质量测量的信息。有关数据集的更多信息可以在 ?airquality中找到。

代码语言:javascript
复制
library(visdat)
vis_dat(airquality)

上面的图告诉我们,R读取这个数据集时是数值和整数值,并在Ozone和Solar.R中显示一些缺失的数据。类在图例中表示,缺失的数据用灰色表示,列/变量名列在x轴上。

  • 使用 vis_miss()

我们可以使用vis_miss()进一步探索缺失的数据:

代码语言:javascript
复制
vis_miss(airquality)

vis_miss中缺失/完成的百分比精确到小数点后1位。

你可以通过设置cluster = TRUE来对缺失进行聚类:

代码语言:javascript
复制
vis_miss(airquality,          cluster = TRUE)

通过设置sort_miss = TRUE,数据列也可以按缺失最多的列进行排列:

代码语言:javascript
复制
vis_miss(airquality,         sort_miss = TRUE)

vis_miss表示当缺失率<0.1%时,缺少数据的数量非常少:

代码语言:javascript
复制

test_miss_df <- data.frame(x1 = 1:10000,
                           x2 = rep("A", 10000),
                           x3 = c(rep(1L, 9999), NA))

vis_miss(test_miss_df)

vis_miss还将提示何时没有丢失数据:

代码语言:javascript
复制
vis_miss(mtcars)

为了进一步探索数据集中的缺失结构,我推荐使用naniar包,它为缺失值的图形和数值探索提供了更多通用工具。

  • 使用vis_compare()

有时你想要查看数据中发生了哪些变化。 vis_compare()可以显示两个相同大小的数据帧的差异。 我们来看一个例子:

让我们对chickwts做一些修改,并比较这个新的数据集:

代码语言:javascript
复制

set.seed(2019-04-03-1105)
chickwts_diff <- chickwts
chickwts_diff[sample(1:nrow(chickwts), 30),sample(1:ncol(chickwts), 2)] <- NA

vis_compare(chickwts_diff, chickwts)

这里的差异会用蓝色标出。

如果你尝试在尺寸不同时比较差异,则会出现一个非常难看的错误:

代码语言:javascript
复制
chickwts_diff_2 <- chickwts
chickwts_diff_2$new_col <- chickwts_diff_2$weight*2

vis_compare(chickwts, chickwts_diff_2)
# Error in vis_compare(chickwts, chickwts_diff_2) : 
#   Dimensions of df1 and df2 are not the same. vis_compare requires dataframes of identical dimensions.

篇幅有限,如需查看更多使用示例,请访问Github项目查看。

Github项目地址:

https://github.com/ropensci/visdat

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何安装?
  • visdat能做什么?
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档