首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文读懂R中的探索性数据分析

一文读懂R中的探索性数据分析

作者头像
1480
发布2019-07-14 14:03:25
1.3K0
发布2019-07-14 14:03:25
举报
文章被收录于专栏:数据分析1480数据分析1480

还没关注?

快动动手指!

探索性数据分析(EDA)是数据项目的第一步。我们将创建一个代码模板来实现这一功能。 简介 EDA由单变量(1个变量)和双变量(2个变量)分析组成。

简介

EDA由单变量(1个变量)和双变量(2个变量)分析组成。在这篇文章中,我们将回顾一些我们在案例分析中使用的功能:

● 第1步:取得并了解数据; ● 第2步:分析分类变量; ● 第3步:分析数值变量; ● 第4步:同时分析数值和分类变量。

基本EDA中的一些关键点:

● 数据类型 ● 异常值 ● 缺失值 ● 数值和分类变量的分布(数字和图形的形式)

分析结果的类型

结果有两种类型:信息型或操作型。

● 信息型:例如绘图或任何长变量概要,我们无法从中过滤数据,但它会立即为我们提供大量信息。大多数用于EDA阶段。 ● 操作型:这类结果可直接用于数据工作流(例如,选择缺失比例低于20%的变量)。最常用于数据准备阶段。

准备开始

如果您没有这些扩展包,请删除‘#’来导入:

tl; dr(代码)

使用以下函数一键运行本文中的所有函数:

替换data为你的数据,然后就可以啦!

创建示例数据:

使用heart_disease数据(来自funModeling包)。为了使本文容易理解,我们只选取四个变量。

第一步:了解数据

统计第一个例子中观测(行)和变量的数量,并使用head显示数据的前几行。

获取有关数据类型,零值,无穷数和缺失值的统计信息:

df_status会返回一个表格,因此很容易筛选出符合某些条件的变量,例如:

● 有至少80%的非空值(p_na < 20) ● 有少于50个唯一值(unique <= 50)

建议:

● 所有变量都是正确的数据类型吗? ● 有含有很多零或空值的变量吗? ● 有高基数变量吗?

第二步:分析分类变量

freq 函数自动统计数据集中所有因子或字符变量:

建议:

● 如果freq用于一个变量 -freq(data$variable),它会生成一个表格。这对于处理高基数变量(如邮政编码)非常有用。

● 将图表以jpeg格式保存到当前目录中:freq(data, path_out = ".")

● 分类变量的所有类别都有意义吗? ● 有很多缺失值吗? ● 经常检查绝对值和相对值。

第三步:分析数值变量

我们将看到:plot_num和profiling_num两个函数,它们都自动统计数据集中所有数值/整数变量:

1. 绘制图表

将图表导出为jpeg格式:

建议:

● 试着找出极度偏态分布的变量。 ● 作图检查任何有异常值的变量。

2. 定量分析

profiling_num 自动统计所有数值型/整型变量:

建议:

● 尝试根据其分布描述每个变量(对报告分析结果也很有用)。 ● 注意标准差很大的变量。 ● 选择您最熟悉的统计指标:data_prof %>% select(variable, variation_coef, range_98):variation_coef得到较大值可能提示异常值。range_98显示绝大部分数值的范围。

第四步:同时分析数值和分类变量

使用Hmisc包的describe。

这对于快速了解所有变量非常有用。但是当我们想要使用统计结果来改变我们的数据工作流时,这个函数不如freq和profiling_num好用。

建议:

● 检查最小值和最大值(异常值)

● 检查分布(与之前相同)

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

本文分享自 数据分析1480 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 分析结果的类型
  • 准备开始
    • tl; dr(代码)
    • 第一步:了解数据
    • 第三步:分析数值变量
      • 1. 绘制图表
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档