Github项目推荐 | visdat - 数据初步探索性可视化工具
visdat - Preliminary Exploratory Visualisation of Data
by rOpenSci
Site:http://visdat.njtierney.com/
如何安装?
你可以在CRAN获取visdat
install.packages("visdat")
如果您想使用开发版本,请从github安装:
# 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中找到。
library(visdat)
vis_dat(airquality)
上面的图告诉我们,R读取这个数据集时是数值和整数值,并在Ozone和Solar.R中显示一些缺失的数据。类在图例中表示,缺失的数据用灰色表示,列/变量名列在x轴上。
- 使用 vis_miss()
我们可以使用vis_miss()进一步探索缺失的数据:
vis_miss(airquality)
vis_miss中缺失/完成的百分比精确到小数点后1位。
你可以通过设置cluster = TRUE来对缺失进行聚类:
vis_miss(airquality, cluster = TRUE)
通过设置sort_miss = TRUE,数据列也可以按缺失最多的列进行排列:
vis_miss(airquality, sort_miss = TRUE)
vis_miss表示当缺失率<0.1%时,缺少数据的数量非常少:
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还将提示何时没有丢失数据:
vis_miss(mtcars)
为了进一步探索数据集中的缺失结构,我推荐使用naniar包,它为缺失值的图形和数值探索提供了更多通用工具。
- 使用vis_compare()
有时你想要查看数据中发生了哪些变化。 vis_compare()可以显示两个相同大小的数据帧的差异。 我们来看一个例子:
让我们对chickwts做一些修改,并比较这个新的数据集:
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)
这里的差异会用蓝色标出。
如果你尝试在尺寸不同时比较差异,则会出现一个非常难看的错误:
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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android编程中File文件常见存储与读取操作demo示例
- Android读取properties配置文件的实例详解
- Android开发实现popupWindow弹出窗口自定义布局与位置控制方法
- Android编程实现使用handler在子线程中更新UI示例
- Android编程实现图片放大缩小功能ZoomControls控件用法实例
- 详解Android MacAddress 适配心得
- Android编程使用GestureDetector实现简单手势监听与处理的方法
- 【MySQL】通过SQL_Thread快速恢复binlog
- 渗透系列之flask框架开启debug模式漏洞分析
- Android之ImageSwitcher的实例详解
- Android中HTTP请求中文乱码解决办法
- Android编程之播放器MediaPlayer实现均衡器效果示例
- Android studio点击跳转WebView详解
- Android webveiw 出现栈错误解决办法
- Android开发之实现手势滑动的功能