【R语言 数据处理和可视化】一个手游公司销售额数据分析

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语言源代码讲解


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

这里写图片描述

结论:

老用户的消费情况几乎没什么变化,但是明显新用户的消费额明显少了接近一半,因此给的策略建议就是根据实际成本提高活动宣传,让新消费者买买买。

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是用R语言进行数据分析和数据可视化的一些基本步骤: 1. 导入数据 使用read.csv()函数将csv文件导入到R中。例如,假设数据文件名为data.csv,可以使用以下代码将其导入: ``` data <- read.csv("data.csv") ``` 2. 数据清洗 对于导入的数据,可能需要进行一些清洗,例如去除重复值、处理缺失值等。可以使用R中的函数进行数据清洗。例如,以下代码将删除data中的重复行: ``` data <- unique(data) ``` 3. 数据分析 在进行数据分析之前,可以先使用summary()函数查看数据的基本情况,例如数据的均值、分位数、缺失值等。例如,以下代码将输出data的摘要信息: ``` summary(data) ``` 对于需要进行进一步分析的数据,可以使用R中的各种函数和方法进行统计分析、建模等。例如,以下代码将对data中的数值型变量计算均值和标准差: ``` mean_data <- apply(data[,sapply(data,is.numeric)], 2, mean) sd_data <- apply(data[,sapply(data,is.numeric)], 2, sd) ``` 4. 数据可视化 使用R语言的ggplot2包可以进行数据可视化,用于更好地展示和传达数据的信息。例如,以下代码将绘制data中的两个数值型变量的散点图: ``` library(ggplot2) ggplot(data, aes(x=var1, y=var2)) + geom_point() ``` 以上是一些基本的数据分析和数据可视化步骤,具体的处理方法和图表类型可以根据具体数据和分析需求进行调整和选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东华果汁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值