美文网首页数据-R语言-图表-决策-Linux-Python程序员@IT·互联网
《R语言实战》第四章 基本数据管理 学习笔记

《R语言实战》第四章 基本数据管理 学习笔记

作者: 哈哈乐哈 | 来源:发表于2017-02-27 13:01 被阅读0次

有句话说:所有光鲜亮丽的背后,都曾熬过无数个不为人知的黑夜——这句话可以套用在任何一件大大小小的劳动成果上!编程如是,此处学习的数据分析亦是!
数据分析,名为分析,但其实质对其分析前的数据进行预处理就得花上老半天,当然也不难理解,在当今这个信息丰富的世界中,数据的来源和格式多种多式,目前还没有哪种计算机语言一看到原始数据就能bala开始分析的。所以这第四章的内容讲的还是对数据的基本处理。

操纵日期和缺失值
熟悉数据类型的转换
变量的创建和重编码
数据集的排序、合并和取子集
选入和丢弃变量

从实例开始学习

数据:朝阳医院2016年销售数据.xlsx—该数据是取自于猴子老师讲座中的实例。

QQ截图朝阳医院2016销售数据.png
简单数据分析的思路与步骤

**一、读取Excel数据 **
二、对数据进行预处理
1,列名重命名
2,删除缺失值
3,处理日期
4,数据类型转换
5,数据排序
三、数据分析
1,分析月均消费次数。(月均消费次数=总消费次数/月份数 (注:同一天内,同一个人发生的所有消费算作一次消费。))
2,分析月均消费金额。(月均消费金额=总消费金额/月份数)
3,分析客单价。(客单价=每客总消费金额/每客总消费次数)
4,分析消费趋势。(以周-消费金额绘制曲线图)

具体来实际操作:

一、读取Excel数据

这里使用(openxlsx)包读取Excel数据,未安装此包前请先下载安装并载入方可使用。


QQ截图20170226173059.png

读取数据后可通过函数 View()来预览


导入数据后预览.png

二、对数据进行预处理

1,列名重命名
变更行名.png
2,删除缺失值

删除缺失值之前,先对缺失值做个基本的了解。
⑴,什么是缺失值,就是在任何规模的项目中,数据都可能由于未作答、设备故障或误编码数据的缘故而不完整,这些不完整的值通常称作缺失值。缺失值以符号 NA(Not Available)表示。

⑵,缺失值的应用
A, is.na()函数,用于识别包含缺失值的观测。


QQ截图3.png

在处理缺失值时,注意两点:

1,缺失值是不可比较的。意味着无法使用运算符来检测数据中是否存在缺失值,只能使用处理缺失值的函数来识别,如 is.na()函数。
2,R 中缺失值不包括正负无穷数或者不可能出现的数值。正无穷用 Inf 标记,负无穷用 -Inf 标记,不可能的值 用 NaN 标记。识别这两种数据时需分别用到不同的函数 is.infinite() 或 is.nan() 。

B,排除数据中的缺失值
■ 在函数中添加参数 na.rm=TRUE


排除缺失值例一.png

■ 通过函数 na.omit() 移除所有含有缺失值的行。


排除缺失值例二.png

■通过逻辑运算符 !is.na--非is.na来处理缺失值
从数据框中选出销售时间不为空的数据。含有缺失值的第6579行被剔除。


删除缺失值例三.png
在此,同时补充一下R中的逻辑运算符,如下,逻辑运算符表达式可返回TRUE或FALSE.
逻辑运算符.png
3,处理日期

在导入的Excel数据里,购药时间格式为字符串"2016-01-01 星期五",这样的值在R 中是没法进行统计的,需要拆分成我们想要的"2016-01-01",此时,需要用到函数
str_split_fixed()

日期处理例一.png
日期值通常以字符串的形式输入R中的,需要用日期值进行数据分析时,往往需将其转化为数值型,函数 as.Data()用于执行这种转化。日期值的默认输入格式为yyyy-mm--dd
日期值例二.png
R中给出了用于读入日期的适当格式,如下:
日期格式图.png
4,数据类型转换

判断数据的类型及将其转换为指定的类型,R中是有相应的函数来执行的


类型转换函数图.png

下面将是将导入的Excel表中的三组数据执行转化:


数据类型转换例一.png
5,数据排序

在R中,使用order()函数给一个数据框进行排序。默认的排序是升序。在排序变量前边加一个减号(-)或者添加参数 decreasing=TRUE 即可得到降序的排序结果(=FALSE 表升序)。


数据排序例一.png

三、数据分析

1,月均消费次数

月均消费次数=总消费次数/月份数
在这里,同一天内,同一个人发生的所有消费只算作一次消费。在获取总消费次数时,根据消费数据里购药时间、社保卡号先判断出哪些消费数据是重复的(购药时间和社保卡号两个值都相同的数据为重复,只能算作一次消费),这样重复的数据只取其一,可以用函数 !duplicated()来实现这样的操作。
获取总消费次数 "consumeNumber 5394"

月均消费次数例一.png
获取总消费天数 "day 200"
计算月份数,这里只考虑一个月30天的情况。"month 6"
计算月均消费次数,四舍五入保留小数点后两位数。"monthconsume 899.00"
月均消费次数例二.png
2,月均消费金额

月均消费金额=总消费金额/月份数,见下图:

月均消费金额例1.png
3,客单量

客单价=每客总消费金额/每客总消费次数

客单价例1.png
4,消费趋势

在这里,将以单位周的消费金额绘制曲线图来展示未来的消费趋势。
首先,计算出每周消费金额,可以用函数 tapply()来实现。运用 tapply()函数计算后得到一个二维数组,一维是第几周的序号,二维是对应的这周的总消费金额:


每周消费金额例1.png

将二维数组转化生成一个数据框:


每周消费金额例2.png
其次,将转化后的数据框列名进行重命名,并获取周数:
每周消费金额例3.png
最后,绘制曲线图
消费曲线图.png
消费曲线图2.png

总算做了个了结,但还不熟练,还需练上起码三遍,加油!

相关文章

  • R 语言实战 读书笔记

    R语言实战(第2版) 学习笔记 1. R语言介绍 1.1 为什么用R语言 bla 1.2 基本操作 图表演示命令 ...

  • R语言实战4:基本数据管理

    title: "R数据实战4:基本数据管理"author: "wintryheart"date: "2019年5月...

  • 《R语言实战》第四章 基本数据管理 学习笔记

    有句话说:所有光鲜亮丽的背后,都曾熬过无数个不为人知的黑夜——这句话可以套用在任何一件大大小小的劳动成果上!编程如...

  • 《R语言实战》学习笔记 -- 第四章 基本数据管理

    在第2章中,我们讨论了多种导入数据到R中的方法。遗憾的是,将我们的数据表示为矩阵或数据框这样的矩形形式仅仅是数据准...

  • 第1章 R语言介绍

    《R语言实战》笔记系列 本章学习大纲 1.R的安装 2.R的基本概念(常用的函数介绍) 3.R的常见错误 第一部分...

  • 《R语言实战》学习笔记目录

    第一章R语言介绍 第二章创建数据集 第三章图形初阶 第四章基本数据管理 第五章高级数据管理 第六章基本图形 因小鑫...

  • 循序渐进的R语言第二程

    这次的关卡是《R语言实战》第三和第四章的学习。先匆匆地把两章内容都扫了一遍,这两章是图形初阶和基本数据管理,有非常...

  • R语言实战-4基本数据管理

    书中有一句:数据分析多大60%以上花在实际分析前数据的准备上。简直不能同意更多。继续学习第四章的内容。 4.2创建...

  • R语言实战-4基本数据管理

    今晚和很多幸福的人儿打电话,结果就只学了一些。学多少写多少喽~反正开心呢! 4.6日期值 日期值通常是以字符串的形...

  • R 语言--日期值的输入

    学习R语言,很多人都推荐使用图灵程序设计丛书中的"R in Action"-《R语言实战》作为R语言学习的入门书籍...

网友评论

    本文标题:《R语言实战》第四章 基本数据管理 学习笔记

    本文链接:https://www.haomeiwen.com/subject/hduowttx.html