1

我正在寻找使用 R 来运行 ABC 分析,也称为帕累托分析。ABC 分析是一个商业术语,用于定义材料管理中常用的分类技术。

每个类别没有固定的阈值,可以根据目标和标准应用不同的比例。ABC 分析类似于帕累托原则,因为“A”项通常占总价值的很大一部分,但占项目数量的一小部分。

4

3 回答 3

5

说真的,我认为这个abc包是一种常见的供应管理技术的巧合命名。该abc包创建一个已知变量的模型,而 OP 希望基于单个已知变量(收入)创建一个分类变量。在abc包中,根据变量的对记录进行分类;根据所讨论的 abc 技术,记录根据聚合的值进行分类。例如,所有部件号 4132457 都归类为“A”。

这是一个普通的计算:你在 R 中并不比在电子表格中更好。如果有人坚持使用 R 实现,我会推荐以下内容:

library(plyr)
z <- data.frame(Part.Number =c(rep(letters[15:1], seq_along(letters[15:1]))), 
                Price = c(rep(1:15, seq_along(15:1))), 
                Qty.Sold = sample(1:120))
z[90:120, ]$Qty.Sold <- z[90:120, ]$Qty.Sold * 10 # creates fake data
z.summary <- ddply(z, .(Part.Number), summarise, 
                   Revenue = sum(Price * Qty.Sold)) # summarise fake data

z.summary <- within(z.summary, {
    Percent.Revenue <- cumsum(rev(sort(Revenue)))/sum(Revenue)
    ABC <- ifelse(Percent.Revenue > 0.91, "C",
           ifelse(Percent.Revenue < 0.81, "A", "B"))
})

z.summary
#    Part.Number Revenue Percent.Revenue ABC
# 1            a  140850       0.4461246   A
# 2            b  113960       0.8070784   A
# 3            c   21788       0.8760892   B
# 4            d    8220       0.9021250   B
# 5            e    7238       0.9250504   C
# 6            f    6390       0.9452900   C
于 2013-07-08T22:59:52.087 回答
0

与此同时,有一个专门的 R 包 ( http://cran.r-project.org/web/packages/ABCanalysis/index.html ) 可以完成这项工作。

于 2015-05-12T03:50:52.260 回答
-1

qcc 包(http://cran.r-project.org/web/packages/qcc/qcc.pdf)有一个函数 pareto.chart,它提供了以表格和图表输出的形式轻松执行 ABC 分析的方法。

于 2014-10-10T03:55:31.193 回答