手把手教你用R处理常见的数据清洗问题(附步骤解析、R语言代码)

您所在的位置:网站首页 数据离群值 手把手教你用R处理常见的数据清洗问题(附步骤解析、R语言代码)

手把手教你用R处理常见的数据清洗问题(附步骤解析、R语言代码)

2024-07-11 07:53| 来源: 网络整理| 查看: 265

作者:James D. Miller

翻译:王雨桐

校对:万文菁

本文约5300字,建议阅读10+分钟。

本文将介绍数据清洗过程的主要步骤,并通过案例和代码演示如何利用R语言进行数据清洗。

R是进行运算、清洗、汇总及生成概率统计等数据处理的一个绝佳选择。此外,由于它独立于平台、短期内不会消失,所以生成的程序可以在任何地方运行。并且,它具备非常棒的辅助资源。

本文摘录自James D.Miller撰写的《数据科学统计学》(Statistics for Data Science)一书,该书由Packt Publishing出版。

R是一种易上手的语言和环境,它本身很灵活且专注于统计计算,因此成为运算、清洗、汇总及生成概率统计等数据处理的一个绝佳选择。

此外,以下是用R进行数据清洗的其他原因:

由于大量数据科学家都在使用R,所以它短时间内不会消失。R独立于平台,因此可以在任意地方运行程序。R有绝佳的辅助资源---Google一下,你就可以看到。

注:尽管作者将示例数据命名为“赌博数据”(Gamming Data),它只是用来演示代码的赌博数据。

离群点

对离群点最简单的解释是:离群点是和其余数据不匹配的数据点。按照惯例,任何过高、过低或者异常(基于项目背景)的数据都是离群点。作为数据清洗的一部分,数据科学家通常要识别出离群点并用通用的方法解决它:

删除离群点的值,甚至是离群点对应的实际变量。转换变量值或变量本身。

让我们来看一下实际案例中如何用R识别并解决数据离群点。

老虎机在赌博界十分流行(老虎机的操作方法是把硬币投入到机器中,并拉动把手来决定回报)。如今大部分老虎机都电子化了,编程使它们的所有活动都能被持续追踪。在本文的案例中,赌场的投资者希望利用这些数据(以及各种补充数据)来调整盈利策略。换句话说,什么能让老虎机赚更多钱?是机器的主题还是类型?新机器比旧机器或老式机器更有利可图吗?机器的位置会产生怎样的影响?低面额的机器会赚更多钱吗?我们尝试用离群点来找到答案。

给定一个集合或赌博数据库(格式为逗号分隔或CSV文本文件),其中包括的数据如老虎机的位置、钱的面额、月份、日、年、机器类型、机器的年龄、促销、优惠券、天气和投币量(投币量是放入机器的钱币总额减去支付的数额)。

作为一个数据科学家,第一步要对数据进行综评(有时称为概述),此时我们要确定是否存在异常值,第二步是解决这些离群点。

步骤一 数据概述

R使这一步骤变得非常简单。尽管可以通过很多方式编程求解,但我们要尝试用最少的程序代码或脚本来解决问题。将CSV文件定义为R的变量(命名为MyFile)并将文件读入为数据框(命名为Mydata):

MyFile



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3