[置顶] 【R语言 数据处理和可视化】一个手游公司销售额数据分析
2017-12-12 14:33
555 查看
1、主要知识点
1、读取csv(read.csv用法)
2、数据集合并(merge用法)
3、分组求和(aggregate用法)
4、日期格式处理(format(as.Date用法))
5、数据可视化–条形图(ggplot用法)
2、数据集下载
链接:https://pan.baidu.com/s/1hs8IFJ2
密码:si78
3、R语言源代码讲解
结论:
老用户的消费情况几乎没什么变化,但是明显新用户的消费额明显少了接近一半,因此给的策略建议就是根据实际成本提高活动宣传,让新消费者买买买。
1、读取csv(read.csv用法)
2、数据集合并(merge用法)
3、分组求和(aggregate用法)
4、日期格式处理(format(as.Date用法))
5、数据可视化–条形图(ggplot用法)
2、数据集下载
链接:https://pan.baidu.com/s/1hs8IFJ2
密码:si78
3、R语言源代码讲解
rm(list=ls()) gc() options(scipen = 200) library(ggplot2) #读取数据##用户登陆时间 DAU <- read.csv('e:/ID/BSD/dau.csv',header = T,stringsAsFactors=F)[,c(1,3)] ##用户消费时间及消费金额 DPU <- read.csv('e:/ID/BSD/dpu.csv',header = T,stringsAsFactors=F)[,c(1,3,4)] ##用户初次安装游戏时间 INS <- read.csv('e:/ID/BSD/install.csv',header=T,stringsAsFactors=F)[,c(1,3)] # 然后看看这些数据都有哪些字段 head(DAU,3) head(DPU,3) head(INS,3) # log_date:用户登录时间。 # # user_id:用户id,所有用户id唯一。 # # payment:用户再当天消费情况。 # # install_date:用户初次安装游戏时间。 #数据集合并 ##第一次合并 dau.ins <- merge(DAU,INS,by='user_id') ##偷偷观察一下看看第二次合并怎么设置参数 head(dau.ins); head(DPU) ##第二次合并我在另外一个Script做了几次测试 did <- merge(dau.ins,DPU,by=c('log_date','user_id'),all.x = T) #将NA值(没有消费)设为0 did$payment[is.na(did$payment)] <- 0 head(did) #按月处理时间变量 #这里有俩办法,还有一个用substr()+as.number() did$log_date <- as.numeric(format(as.Date(did$log_date),format='%m')) did$install_date <- as.numeric(format(as.Date(did$install_date),format='%m')) head(did) #按月份整合数据:除了下述方法笔者还尝试了by(),reashape2,split()+apply(),均可实现,有兴趣的话可以试试。 final.data <- aggregate(did,by=list(did$user_id,did$log_date,did$install_date),FUN=sum)[,c(1,2,3,7)] names(final.data) <- c('user_id','log_date','install_date','payment') #为用户贴上新老标签 final.data$label <- ifelse(final.data$log_date==final.data$install_date,'新用户消费','老用户消费') head(final.data) final.sum <- aggregate(final.data[,2:4],by=list(final.data$log_date,final.data$label),sum)[,c(1,2,5)] names(final.sum) <- c('月份','收入来源','销售额') #数据到这里就捣腾完毕了,下面可视化探索使用最后的final开头的两个数据集 #可视化分析 (p <- ggplot(final.sum,aes(x=factor(月份),y=销售额,fill=factor(收入来源,levels = c('新用户消费','老用户消费',order=T))))+ geom_bar(width = 0.6,stat = 'identity')+labs(x='月份',fill='收入来源'))+scale_x_discrete(breaks=c(6,7),labels = c('6月','7月'))
> head(final.data) user_id log_date install_date payment label 1 1 6 4 0 老用户消费 2 2 6 4 0 老用户消费 3 3 6 4 14994 老用户消费 4 4 6 4 0 老用户消费 5 6 6 4 0 老用户消费 6 7 6 4 0 老用户消费
> head(final.sum) 月份 收入来源 销售额 1 6 老用户消费 177886 2 7 老用户消费 177886 3 6 新用户消费 49837 4 7 新用户消费 29199
结论:
老用户的消费情况几乎没什么变化,但是明显新用户的消费额明显少了接近一半,因此给的策略建议就是根据实际成本提高活动宣传,让新消费者买买买。
相关文章推荐
- [置顶] 【R语言 数据处理】R语言数据变形melt用法
- [置顶] 【R语言 数据合并】批量读取数据文件合并为一个excel表格
- R语言生存分析数据分析可视化案例
- [置顶] 【R语言 数据分析】R语言获取Excel数据
- Python爬虫实现数据可视化,为你做一个城市旅游数据分析
- 创业公司使用R语言搭建简单的数据分析系统
- [置顶] 【R语言 数据分析】多重共线性问题
- 可视化数据分析(二) 一个简单的柱状图的实现
- 可视化数据分析(三) 一个简单的散点图的实现
- [置顶] 【R语言可视化ggplot2入门教程1】一个完整的绘图流程
- R语言用于数据分析的基本统计函数与基础可视化
- [置顶] 【R语言 数据分析】豆瓣电影R语言爬虫和数据分析
- 数据分析(5)-数据处理
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
- 22个免费的数据可视化和分析工具推荐
- Atitit 数据分析之道 attilax著 1. 数据分析的目的 2 1.1. 描述型:发生了什么?可视化仪表盘化很重要。 3 1.2. 2. 诊断型:为什么会发生?结合历史记录 3 1.3. 3
- 2018年大数据趋势 :人工智能... 数据分析将包含可视化模型...
- [置顶] Python数据可视化—matplotlib笔记
- R语言︱词典型情感分析文本操作技巧汇总(打标签、词典与数据匹配等)
- 利用R语言进行交互数据可视化