【发布时间】:2016-12-09 23:13:34
【问题描述】:
在此示例中,我拥有的数据表示销售额及其与给定商店 One 和 Two 的距离 (Dist)。我想做的是,根据销售量来定义商店服务区域。区域定义为包含 50% 销售额的半径。从与商店距离最短 (Dist) 的订单开始,我想计算包含给定商店销售额 50% 的半径。
以下df 是我在以前的模型中计算出来的。
df <- data.frame(ID = c(1,2,3,4,5,6,7,8),
Store = c('One','One','One','One','Two','Two','Two','Two'),
Dist = c(1,5,7,23,1,9,9,23),
Sales = c(10,8,4,1,11,9,4,2))
现在我想找到dist 的最小距离,它使接近数字为Sales 的 50%。所以我的输出如下:
Output <- data.frame(Store = c('One','Two'),
Dist = c(5,9),
Sales = c(18,20))
我在我的实际 df 中有很多观察结果,而且我无法准确地解决 50%,所以我需要四舍五入到最近的观察结果。
有什么建议吗?
注意:我提前为这个糟糕的标题道歉,我试图想一个更好的方法来解决这个问题,欢迎提出建议......
【问题讨论】:
-
我不太清楚你的目标,你能详细说明一下吗?
-
您能否详细说明产生预期结果的算法?
-
@nrussell 我已经就目标提供了额外的说明。让我知道这是否更清楚。
-
@RomanLuštrik 我在问题开始时添加了附加说明。我正在使用 Haversine Distance 来计算订单到商店的距离,现在想找到具有给定销售密度的集水区。即 50% 的销售额在 20K 范围内
-
当您说“销售额的50%”时,您的意思是给定商店销售额的50%,对吗?
标签: r optimization mathematical-optimization