查看原文
其他

smartEDA包,探索性数据分析的双面手

The following article is from 灵活胖子的进步之路 Author 灵活胖子1988

探索性数据分析的常见R包

教程中,作者介绍了目前CRAN中用于探索性数据分析的常用R包,如下图。可以看到,smartEDA包对于缺失值及异常值的探索性分析稍微欠缺,后续可以用dlookr包进行弥补,两个包都有shinny功能,非常方便了。

探索性数据分析的常用R包对比图

官网介绍

该包主要有以下特点

  • 可以进行定量描述性统计
  • 可以定性进行探索性数据分析的绘图展示
  • 可以根据要求定制输出表格
  • 可以生成HTML格式的EDA报告
smartEDA包功能总览

本次介绍连续变量EDA常用函数

#install.packages("ISLR")
library("ISLR")
#install.packages("SmartEDA")
library("SmartEDA")
## Load sample dataset from ISLR pacakge
Carseats= ISLR::Carseats

测试数据集
## 整体概览 
ExpData(data=Carseats,type=1)

定性查看数据分布情况
## 数据结构分布情况
res<- ExpData(data=Carseats,type=2)
返回整洁的数据结构格式,注意分类变量个数
## 连续性变量整体情况
ExpNumStat(Carseats,
           #group by A (summary statistics by All)
           #对数据整体进行分析
           by="A",
           gp=NULL,# 分组变量
           Qnt=seq(0,1,0.1),#分位数设定,此设定位每10%的数值
           MesofShape=2,# 判断正态性的方法
           Outlier=TRUE, # 计算缺失值截断值及个数
           round=2)->res2

这个函数返回的结果较多,以下为返回结果的参数

可以看到,返回的结果基本包含了我们需要对于连续变量分布需要知道的内容
测试数据返回的结果1
测试数据返回结果2-注意返回了异常值的个数及取值范围
测试数据返回结果2-注意返回了偏态分布参数
## 查看连续变量之间的相关性
ExpNumStat(Carseats,
           by="A",
           gp="Price",#待查看相关性的连续变量
           Qnt=seq(0,1,0.1),
           MesofShape=1,
           Outlier=TRUE,
           round=2)->res3

返回的相关性系数
## 按照分类变量分组查看连续变量的分布情况
ExpNumStat(Carseats,
           #GA (summary statistics by group and Overall)
           by="GA"#按照总体及分组进行描述
           ,gp="Urban"# 分组变量
           ,Qnt=seq(0,1,0.1),
           MesofShape=2,
           Outlier=TRUE,
           round=2)->res4

分组统计
#对连续性变量进行可视化
data("mtcars")
测试数据
## 分组箱线图
ExpNumViz(mtcars,
          target="gear",#分组变量
          #1 (boxplot by category and overall)
          #2 (boxplot by category only)
          #3 (boxplot for overall)
          type=1,
          #计算中包含的最小个数
          nlim=25)

仅展示了一个连续变量,绘图会自动计算所有连续变量
## 绘制密度曲线
ExpNumViz(mtcars,
          target=NULL,
          type=3,
          nlim=25)
批量绘制密度曲线并返回非正态参数
## 绘制散点图
ExpNumViz(mtcars,
          target="hp",
          type=3,
          nlim=25,
          Page = c(2,2))
分组散点图
- END -
关注下方公众号,分享更多更好玩的R语言知识。

公众号运营至今,已组建了3个方向的交流群:统计绘图群、临床公共数据挖掘群(包括分群MIMIC/NHANES/UKB/孟德尔随机化)、生信交流群等,如果需要进群,请在公众号菜单栏处添加作者微信,邀请入群,请记得附上备注,谢谢

点个在看,SCI马上发表。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存