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. ...
 
随机推荐
- hibernate笔记4--qbc查询
			
Criteria:是一种完全面向对象的查询方式,Criteria查询也叫做qbc查询(query by Criteria). 查询全部,分页查询,统计查询,条件查询,排序查询,离线查询 ...
 - python logging 模块记录日志
			
#日志记录到多文件示例 import logging def error_log(message): file_1_1 = logging.FileHandler('error.log', 'a+', ...
 - vue指令总结(二)
			
一.vue指令 1.v-text v-text是用于操作纯文本,它会替代显示对应的数据对象上的值.当绑定的数据对象上的值发生改变,插值处的内容也会随之更新.注意:此处为单向绑定,数据对象上的值改变,插 ...
 - COGS 898. [咲 -Saki-] 天才麻将少女什么编
			
★☆ 输入文件:sakinani.in 输出文件:sakinani.out 简单对比时间限制:1 s 内存限制:256 MB 题目背景 二十一世纪,世界上的麻将竞技人数超过一亿,日本每 ...
 - java 的http请求方式:HttpURLConnection和HttpClient
			
1.要了解一些概念性的东西,比如Http的协议以及协议头等一些东东 2.HttpURLConnection一般步骤:创建URL对象==>获取URL的HttpURLConnection对象实例== ...
 - java中list强转为map类型
			
起因:读取数据库文件的测试用例,测试用例需要存放到一个map中,方便下次调用, 读取的内容返回的内容存放在一个list中,并且数据内容是key=value的形式,最开始使用切片方式,做了很多无用功,后 ...
 - selenium模糊匹配控件
			
起因:在查找一些控件时,可能控件的一些属性是变化的,那在匹配时需要进行模糊匹配,模糊匹配,使用xpath 定位方式有种: contains(属性名,字符串):使用文本匹配,功能很强大 starts-w ...
 - 安装git 配置邮箱和用户名
			
git 查看用户名和邮箱地址 $ git config user.email $ git config user.name 运行命令来配置你的用户名和邮箱 $ git config --global ...
 - MFC-[转]基于MFC的ActiveX控件开发
			
作者:lidan | 出处:博客园 | 2012/3/13 16:10:34 | 阅读22次 ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在VC ...
 - js数据结构处理--------扁平化数组处理为树结构数据
			
将扁平化的数组处理为树结构数据,我们可以利用对象来处理,对象的复制是浅拷贝,指向相同的内存地址: var arr = [ { id: 0, pid: -1, name: 'sadas' }, { id ...