R语言数据特征分析——贡献度分析

R语言数据特征分析——贡献度分析

贡献度分析又称帕累托分析,它的原理是帕累托法则又称20/80定律。同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润。

下图为海鲜系列的十个菜品A1~A10某个月的盈利额,已经按照从大到小顺序排列。

R语言数据特征分析——贡献度分析

就餐饮企业来讲,应用贡献度分析可以重点改善某菜系盈利最高的前80%的菜品,或者重点发展综合影响最高的80%的部门。这种结果可以通过帕累托图直观地展现出来。

由上图可知,菜品A1~A7共7个菜品,占菜品种类数的70%,总盈利额约占该月盈利额的85%。根据帕累托法则,应该增加对菜品A1~A7的成本投入,减少对菜品A8~A10的投入以获得更高的利润。

下面将通过餐饮系统对应的菜品盈利数据,来演示菜品盈利帕累托代码,数据的下载地址为:https://github.com/windform/R/blob/master/R%E8%AF%AD%E8%A8%80%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/%E6%95%B0%E6%8D%AE%E8%B4%A8%E9%87%8F%E5%88%86%E6%9E%90/chapter3/data/catering_dish_profit.csv

R语言数据特征分析——贡献度分析

分析代码如下:

> # 读取菜品数据,绘制帕累托图

> dishdata

> barplot(dishdata[, 3], col = "blue1", names.arg = dishdata[, 2], width = 1,

+ space = 0, ylim = c(0, 10000), xlab = "菜品", ylab = "盈利:元")

> accratio

> for ( i in 1:length(accratio)) {

+ accratio[i]

+ }

> par(new = T, mar = c(4, 4, 4, 4))

> points(accratio * 10000 ~ c((1:length(accratio) - 0.5)), new = FALSE,

+ type = "b", new = T)

> axis(4, col = "red", col.axis = "red", at = 0:10000, label = c(0:10000 / 10000))

> mtext("累积百分比", 4, 2)

> points(6.5, accratio[7] * 10000, col="red")

> text(7, accratio[7] * 10000,paste(round(accratio[7] + 0.00001, 4) * 100, "%"))

R语言数据特征分析——贡献度分析


分享到:


相關文章: