R语言分析朝阳医院数据

本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”、“月均消费金额”、“客单价”、“消费趋势”等结果,并据此作出可视化图形。

一、读取数据:

library(openxlsx)
#1、读取目标数据
salesData <-read.xlsx("D:/test/朝阳医院2016年销售数据.xlsx,sheet=1")

二、对数据进行预处理:

1、列名重命名:打开excel表格发现列名都是中文名称,所以这里要对列名进行修改。

names(salesData) <- c("time","cardno","drugId","drugName","saleNumber","virtualmoney","actualmoney")
salesData #打印查看结果

显示结果如下:

2、检测缺失数据:如出现“TRUE”则为缺失值,需要处理。

#(2)检测缺失数据
is.na(salesData)

3、处理日期:

我们看到,导入的【time】列的日期是包含字符串的,所以需要把字符串分离提取需要的部分,这里用到stringr包,导入即可。

#(3)处理日期
library(stringr)#导入字符串处理包
timestrsplit <- str_split_fixed(salesData$time," ",n=2)
salesData$time <- timestrsplit[,1]
class(salesData$time)#检测数据类型
#myformat <-"%m/%d/%y"
salesData$time <-as.Date(salesData$time,"%Y-%m-%d")#转换为日期类型
class(salesData$time)#检测数据类型

显示结果如下:

4、其他类型转换:

#(4)其他类型转换
salesData$cardno <- as.numeric(salesData$cardno)
salesData$saleNumber <- as.numeric(salesData$saleNumber)
salesData$virtualmoney <- as.numeric(salesData$virtualmoney)
salesData$actualmoney <- as.numeric(salesData$actualmoney)

5、用order进行排序:

salesData <-salesData[order(salesData$time),]#将salesData按时间进行排序

显示结果如下:

三、获取目标数据指标:

1、月均消费次数

#计算月均消费次数
kpi1 <- salesData[!duplicated(salesData[c("time","cardno")]),]#定义变量kpi1,存储time和cardno的非重复值
consumeNumber <- nrow(kpi1) #计算总消费次数
startTime <-kpi1$time[1]
startTime
endTime <-kpi1$time[nrow(kpi1)]
endTime
day <- endTime-startTime #计算总天数
day#计算不同的天数为200天
month <- 200%/%30 #对月份求余
month
monthConsume <- consumeNumber/month
monthConsume
#得出月均消费次数为899

2、月均消费金额

#计算月均金额
totalMoney <- sum(salesData$actualmoney,na.rm = TRUE)#计算总金额
monthMoney <- totalMoney/6
monthMoney
#得出月均消费金额为50771

3、客单价

#计算客单价
kdj <-totalMoney/consumeNumber
kdj
#得出客单价为56.4

4、分组计算周消费金额

#计算周消费金额
week <- tapply(salesData$actualmoney,format(salesData$time,"%Y-%U"),sum)
week

四、绘制简单图表

week <- as.data.frame.table(week)#构造week数据框
names(week) <- c("time","actualmoney")#对列表重命名
week$time <-as.character(week$time)
week$timeNumber <-c(1:nrow(week)) plot(week$timeNumber,week$actualmoney,
xlab="时间(年份-第几周",
ylab="消费金额",
xaxt="n",
main="2016朝阳医院消费曲线",
col="blue",
type="b")
axis(1,at=week@timeNumber,labels = week$time,cex.axis = 1.5)

显示结果如下:

R语言分析朝阳医院数据的更多相关文章

  1. R语言实现金融数据的时间序列分析及建模

    R语言实现金融数据的时间序列分析及建模 一 移动平均    移动平均能消除数据中的季节变动和不规则变动.若序列中存在周期变动,则通常以周期为移动平均项数.移动平均法可以通过数据显示出数据长期趋势的变动 ...

  2. R语言处理Web数据

    R语言处理Web数据 许多网站提供的数据,以供其用户的消费.例如,世界卫生组织(WHO)提供的CSV,TXT和XML文件的形式的健康和医疗信息报告.基于R程序,我们可以通过编程提取这些网站的具体数据. ...

  3. 用R语言分析我的fitbit计步数据

    目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来 已有原始数据:fitbit2014年每日的记录电子表格文件,全部数据点此下载,示例如下: 日期 消耗卡路里数 步 距离 攀爬楼 ...

  4. R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理

    在数据挖掘的过程中,数据预处理占到了整个过程的60% 脏数据:指一般不符合要求,以及不能直接进行相应分析的数据 脏数据包括:缺失值.异常值.不一致的值.重复数据及含有特殊符号(如#.¥.*)的数据 数 ...

  5. R语言XML格式数据导入与处理

    数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...

  6. R语言和大数据

    #安装R语言R3.3版本会出现各种so不存在的问题,退回去到R3.1版本时候就顺利安装.在安装R环境之前,先安装好中文(如果没有的话图表中显示汉字成框框了)和tcl/tk包(少了这个没法安装sqldf ...

  7. 用R语言分析与预測员工离职

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/83542978 https://mmbiz.qpic ...

  8. 使用R语言分析股价波动

    今天看的R语言.做个笔记. 使用R语言读取雅虎財经数据.分析微软公司(股票代码:MSFT)在2015年股价波动超过百分之十的日期. 然后通过检索新闻的方式,看看微软当天有什么新闻发生,导致股价波动. ...

  9. [译]用R语言做挖掘数据《五》

    介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...

随机推荐

  1. Python之自定义封装一个简单的Log类

    参考:http://www.jb51.net/article/42626.htm 参考:http://blog.csdn.net/u011541946/article/details/70198676 ...

  2. sql server2016安装程序图

    今天终于有时间安装SQL Server2016正式版,下载那个安装包都用了一个星期 安装包可以从这里下载: http://www.itellyou.cn/ https://msdn.microsoft ...

  3. HDU1664 BFS + 数论 + 剪枝

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1664 , 一道比较蛋疼的搜索题. 这道题有很多坑点,一点处理不好就要TLE. 题意很简单,就是找到一个 ...

  4. HDU5124 lines

    离散化 + 树状数组. 这些东西自己都是刚接触不久的,所以需要多写点题练练手. 题目描述: 一维坐标中有N条线段,其中有一个点上面覆盖的线段数是最多的,求该点上面的线段数目. 这道题和HDU1556特 ...

  5. linux 命令——15 tail (转)

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  6. VM安装centOS6.9

    1.首先要下载一个centos的iso镜像,用VMware创建一个空白硬盘. 2.创建完毕再设置里面挂载iso的centos系统文件. 3.进入到这个页面: 说明: ①install or upgra ...

  7. 知乎日报客户端应用ios源码

    swift开发的知乎日报客户端详细源码,里面分UI和网络两个模块. 1.涉及到了大部分的UI控件的使用(甚至包括UIRefreshView,UITableConrol等等)2.Connection完成 ...

  8. NSAttributedString能否设置文字下划线?是否支持line break?

    #import <CoreText/CoreText.h> #import "ViewController.h" @interface ViewController ( ...

  9. hdu-1598 find the most comfortable road---kruskal+枚举下界

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1598 题目大意: XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Ro ...

  10. Jmeter后置处理器

    一.什么是关联? 将请求1的输出 作为 请求2 的输入,则称之为关联 例如:“用户登录”请求中服务器返回了token,“查询用户信息”请求需要把token返回给服务器进行验证 二.通过JSON Pat ...