Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中执行ABC分析?_R - Fatal编程技术网

如何在R中执行ABC分析?

如何在R中执行ABC分析?,r,R,我希望使用R来运行ABC分析,也称为帕累托分析。ABC分析是一个商业术语,用于定义物料管理中常用的分类技术 每个类别没有固定的阈值,可以根据目标和标准应用不同的比例。ABC分析与帕累托原则类似,即“A”类物资通常占总价值的很大一部分,但只占物资数量的一小部分。严肃地说,我认为ABC系列物资是一种常见物资管理技术的巧合命名。abcabc包创建已知变量的模型,而OP希望基于单个已知变量(收入)创建分类变量。在abc包中,根据变量的值对记录进行分类;根据所讨论的abc技术,记录根据聚合值进行分类。例如

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


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

严肃地说,我认为ABC系列物资是一种常见物资管理技术的巧合命名。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
库(plyr)

z严肃地说,
abc
包是一种常见的供应管理技术的巧合命名。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
库(plyr)

zqcc软件包()有一个函数pareto.chart,它提供了一种以表格和图表输出的形式轻松执行ABC分析的方法。

qcc软件包()有一个函数pareto.chart,它提供了以表格和图表输出的形式轻松执行ABC分析的方法。

同时还有一个专用的R软件包()可以做这项工作。

同时有一个专门的R包()可以做这项工作。

也许你可以简单地使用
abc
包。也许你可以简单地使用
abc
包。