R语言分析朝阳医院数据
R语言分析朝阳医院数据
一、读取数据:
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语言分析朝阳医院数据的更多相关文章
- R语言实现金融数据的时间序列分析及建模
R语言实现金融数据的时间序列分析及建模 一 移动平均 移动平均能消除数据中的季节变动和不规则变动.若序列中存在周期变动,则通常以周期为移动平均项数.移动平均法可以通过数据显示出数据长期趋势的变动 ...
- R语言处理Web数据
R语言处理Web数据 许多网站提供的数据,以供其用户的消费.例如,世界卫生组织(WHO)提供的CSV,TXT和XML文件的形式的健康和医疗信息报告.基于R程序,我们可以通过编程提取这些网站的具体数据. ...
- 用R语言分析我的fitbit计步数据
目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来 已有原始数据:fitbit2014年每日的记录电子表格文件,全部数据点此下载,示例如下: 日期 消耗卡路里数 步 距离 攀爬楼 ...
- R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理
在数据挖掘的过程中,数据预处理占到了整个过程的60% 脏数据:指一般不符合要求,以及不能直接进行相应分析的数据 脏数据包括:缺失值.异常值.不一致的值.重复数据及含有特殊符号(如#.¥.*)的数据 数 ...
- R语言XML格式数据导入与处理
数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...
- R语言和大数据
#安装R语言R3.3版本会出现各种so不存在的问题,退回去到R3.1版本时候就顺利安装.在安装R环境之前,先安装好中文(如果没有的话图表中显示汉字成框框了)和tcl/tk包(少了这个没法安装sqldf ...
- 用R语言分析与预測员工离职
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/83542978 https://mmbiz.qpic ...
- 使用R语言分析股价波动
今天看的R语言.做个笔记. 使用R语言读取雅虎財经数据.分析微软公司(股票代码:MSFT)在2015年股价波动超过百分之十的日期. 然后通过检索新闻的方式,看看微软当天有什么新闻发生,导致股价波动. ...
- [译]用R语言做挖掘数据《五》
介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...
随机推荐
- Log4j知识汇总
Log4j在java开发中还是很常见的,而在日志系统里面也占有举足轻重的地位,想要做好日志相关的工作,了解log4j还是很必要的. 下面就针对 log4j的官方文档user-guide 进行翻译与整理 ...
- jquery mmgrid使用
参考 http://miemiedev.github.io/mmGrid/examples/index.html
- 559. N 叉树的最大深度
给定一个 N 叉树,找到其最大深度. 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数. 例如,给定一个 3叉树 : 我们应返回其最大深度,3. 说明: 树的深度不会超过 1000.树的节点总 ...
- office密匙
office 2010 VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB 6QFDX-PYH2G-PPYFD-C7RJM-BBKQ8 BDD3G-XM7FB-BD2HM-YK63V-VQFD ...
- ASP.NET MVC网站学习问题积累(一)
最近工作压力比较大,不得已开始自学C#.同时网站开发业务开展迫在眉睫,只能先从ASP.NET学起.回想一下,连C#和ASP.NET的关系都没有明白,就被赶鸭子上架了...我觉得这将是我工作以来最具有戏 ...
- 【微软大法好】VS Tools for AI全攻略(3):低配置虚拟机也能玩转深度学习,无需NC/NV系列
接着上文,现在我们需要一种穷人的方法来搭建好Azure虚拟机. 思路很简单,因为AI组件的原理其实是传送了script文件和命令上去,那么我们这个虚拟机只要做好了所有的配置,那么我们就可以将它当作深度 ...
- 页面中插入视频兼容ie8以上的浏览器
有时候页面中需要插入视频,如果不考虑ie8的话:就是直接用h5标签<video></video>就可以了: 但是有的时候需求是需要考虑ie8,这样我们就可以用插件,这种vide ...
- 如何处理SAP HANA Web-Based Development Workbench的403 Forbidden错误
打开SAP云平台上的SAP HANA Web-Based Development Workbench超链接: 遇到错误信息:403 - Forbidden - The server refused t ...
- Codeforces Round #327 (Div. 2) C Median Smoothing(找规律)
分析: 三个01组合只有八种情况: 000 s001 s010 0011 s100 s101 1110 s111 s 可以看出只有010,101是不稳定的.其他都是稳定的,且连续地出现了1或0,标记为 ...
- autoreleasing on a thread
So basically, if you are running on OS X 10.9+ or iOS 7+, autoreleasing on a thread without a pool s ...