R 语言实践系列---消费趋势图

实践目的:用R语言对数据进行简单处理操作,包括处理缺失数据,数据类型转换等,以及根据源数据作出对应的消费趋势图。

参考资料://www.greatytc.com/p/9c5a4c999684

excel表导入

library(readxl)

hjxdata <- read_excel("C:/Users/Tiram/Desktop/hjxdata.xlsx")

View(hjxdata)

head(hjxdata)

数据导入结果


1.重命名

names(hjxdata) <- c("userID","userName","goodsID","goodsName","goodsType","price","hight","atualmony","time")

head(hjxdata)


重命名

2.缺失数据剔除(运用逻辑运算符以及缺失数据函数na.omint()能删除所有含有缺失数据的行)

hjxdata <- hjxdata[!is.na(hjxdata$time),]

hjxdata <- hjxdata[!is.na(hjxdata$goodsType),]

hjxdata <- hjxdata[!is.na(hjxdata$goodsName),]

查看时间的数据类型

class(hjxdata$time)

3.数据类型转换

hjxdata$time <- as.Date(hjxdata$time,"%Y-%m-%d")

class(hjxdata$time)

hjxdata$userID <- as.numeric(hjxdata$userID)

hjxdata$price <- as.numeric(hjxdata$price)

hjxdata$hight <- as.numeric(hjxdata$hight)

class(hjxdata$hight)

4.数据排序(根据购买的时间升序排列)

hjxdata <- hjxdata[order(hjxdata$time,decreasing = FALSE),]


数据分析

1.月均消费次数(注同一天内,同一个人发生的所有消费算作一次消费;月消费次数=总消费金额/月数)

kpi1 <- hjxdata[!duplicated(hjxdata[,c("time","userID")]),]

View(kpi1)

hjxdata <- hjxdata[!is.na(hjxdata$time),]

#总消费次数相当于行数

ConsumeNumber <- nrow(kpi1)

#根据月数时间范围计算

#最小的时间值

startTime <- kpi1$time[1]

#最大时间值

endTime <- kpi1$time[nrow(kpi1)]

#天数

Day <- as.numeric(endTime - startTime)

#月数(整除法)

Month <- Day %/% 30

#月均消费次数

MothConsume <- ConsumeNumber / Month

#月均消费金额=总消费金额/月数

#采用函数sum求和,并用na.rm剔除缺失值,只对有效值进行求和

totalMoney <- sum(hjxdata$atualmony,na.rm = TRUE)

monthMoney <- totalMoney / Month

#客单价(pct):per customer transaction

pct <- totalMoney /ConsumeNumber

#保留小数点后两位

pct <- format(round(pct,2),nsmall = 2)

绘制消费趋势曲线

#以周数为x轴,周累计消费金额为纵轴

week <- tapply(hjxdata$atualmony,format(hjxdata$time,"%Y-%U"),sum)

week <- as.data.frame.table(week)

names(week) <- c("time","atualmony")

week$time <- as.character(week$time)

week$timeNumber <- c(1:nrow(week))

plot(week$timeNumber,week$atualmony,xlab="时间(第几周)",ylab="消费总金额",xaxt = "n",main= "2016年XX消费趋势",col="red",type="b")

axis(1.5,at=week$timeNumber, labels=week$time, cex.axis = 1.5)

结果

消费趋势图

继续完善的地方

1. 绘制的消费趋势图中的纵坐标数值过大,无法正确显示,这是自己下一步需要完善的地方。

2. 根据日期,将其分组,然后根据日期分组统计出各用户一周购买的频率或者是一个月的购买频率。

End。

我是R语言初学者,我为自己代言,Swag。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354

推荐阅读更多精彩内容