我想创建一些函数以获取所需的输出。我正在学习R,因此在创建代码方面遇到困难。
这些是我想为更大的数据集创建的示例数据帧
数据框1:
Item LC1 LC2 LC3
8T4121 MW92 OY01 RM11
AB7654 MW92 WK14 RM11
AB7654 MW92 WK14 RS11
数据框2:
Item LC custfcst
8T4121 MW92 10
8T4121 OY01 12
8T4121 RM11 10
AB7654 MW92 20
AB7654 WK14 10
AB7654 RM11 8
AB7654 RS11 21
数据框3:
Item LC ToLC Rolledfcst
8T4121 MW92 OY01 22
8T4121 OY01 RM11 10
AB7654 MW92 WK14 30
AB7654 WK14 RM11 12
AB7654 WK14 RS11 10
数据框4:
Item LC Safetystock(SS) X
8T4121 MW92 15 .25
8T4121 OY01 7 .25
8T4121 RM11 5 .25
AB7654 MW92 30 .25
AB7654 WK14 8 .25
AB7654 RM11 20 .25
AB7654 RS11 15 .25
预期输出:
Item LC1 Pcntg Share RemSS FinalSS Leftover
8T4121 MW92 10/(22+10) Pcntg*SS SS-Share Share+X*RemSS SS-FinalSS
8T4121 OY01 12/(10+12) Pcntg*SS SS-Share Share+X*RemSS SS-FinalSS
8T4121 RM11 NA
注意:此处应在数据框4的SafetyStock中为相同项目添加项目8T4121和LC1的剩余量,否则只有下一次计算应在项目8T4121和OY01进行
步骤: 1.在“数据框”中,是从LC1-> LC2-> LC3
流出物料的通道类似地,应该计算Share,RemSS,FinalSS,剩余量
在计算完第一个物料的数量之后,应将剩余物料添加到同一物料的下一个LC的安全库存中
当我们最后到达数据帧1中某个特定项目的LC时,则仅应添加前一个Lc的SS + Leftover。不需要进一步的计算。
对于AB7654项,在周14进行星号计算时,应将剩余的SS平均分配给RM11和RS11
答案 0 :(得分:0)
这是一个print (hdfs.ls("/vs_co2_all_2019_v1.csv"))
解决方案,该解决方案多次使用Tidyverse
将数据帧连接在一起:
left_join