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. ...
随机推荐
- ngnix入门配置
文件1.首先到ngnix下载页面下载你操作系统对应的ngnix压缩包 http://nginx.org/en/download.html 博主我是window10操作系统 上面是我解压之后放的 ...
- Js/Jquery获取input file的文件名
html代码: <input type="file" name="file" id="file" class="in ...
- ansible 2.1.0 api 编程
pdf文档 https://media.readthedocs.org/pdf/ansible/latest/ansible.pdf api介绍 http://blog.csdn.net/python ...
- ASP.NET中 前后台方法的相互调用
后台调用前台js方法: this.Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "ShowM ...
- 访问FTP站点下载文件,提示“当前的安全设置不允许从该位置下载文件”的解决方案
访问FTP站点下载文件,提示“当前的安全设置不允许从该位置下载文件”的解决方案: 打开客戶端浏览器--工具---internet-安全-自定义级别-选择到低到中低. 然后点受信任站点,把你要访问的站点 ...
- js 对象字面量
对象字面量的输出方式以及定义好处 1.对象字面量的输出方式有两种:传统的'.' 例如:box.name 以及数组方式,只不过用数组方式输出时,方括号里面要用引号括起来 例如:box['name'] v ...
- 【HDU4507】恨7不成妻(数位DP)
点此看题面 大致题意: 让你求出一段区间内与\(7\)无关的数的平方和.与\(7\)无关的数指整数中任意一位不为\(7\).整数的每一位加起来的和不是\(7\)的整数倍.这个整数不是\(7\)的倍数. ...
- vuejs挂载点,模板与实例的关系
<body> <div id='root'> <h1>{{msg}}</h1> </div> <script> new Vue( ...
- jq中append(),appendTo(),after(),before(),prepend(),prependTo()的用法
1. append():往当前元素的内部的后面追加元素; eg:$("div").append($("span")); 将span放在div内部的后面. 2. ...
- Python——函数入门(三)
一.变量作用域 当程序定义一个变量时,这个变量是有它的作用范围的,变量的作用范围称为变量的作用域.根据变量的位置,分为两种: 局部变量:局部变量就是在函数中定义的变量,包括参数,都是局部变量,局部离开 ...