1
我有一个包含购买数据的数据集,我试图找出一些东西。跳进去之前,这里是我的数据是这样的:交易数据
> df.f[df.f$CUST_ID == badIDs[1], c(1, 20, 4, 11, 13)]
CUST_ID CI2_TRANS_DT HR_SID NDS_AMT PROD_NUM
1 2013-12-14 10 0.00 a5g4324
1 2013-12-14 10 0.00 k4jn42k
1 2013-12-14 10 0.00 f3ft52f3
1 2013-12-14 10 0.00 f454fn
1 2013-12-14 10 0.00 l2k41m
1 2013-12-14 10 2.25 nb24b2x3
1 2013-12-14 10 0.00 k1s4m6
1 2013-12-14 10 0.00 1z34fl
1 2013-12-14 10 0.95 f3ft52f3
1 2013-12-17 6 4.45 v0d45j
1 2013-12-17 6 0.00 a5g4324
1 2013-12-17 6 4.75 g6b673va
1 2013-12-17 6 0.00 f454fn
1 2013-12-19 7 -4.75 bh431d11
1 2013-12-20 6 4.75 bh431d11
2 2013-12-14 6 4.75 g6b673va
2 2013-12-15 6 3.75 nb24b2x3
2 2013-12-15 6 -3.75 nb24b2x3
2 2013-12-16 6 5.90 bh431d11
以上变量是客户ID号,该交易的日期,当日,销售金额和产品数量的小时,以该顺序。我遇到的问题是NDS_AMT的负值。如果价值是负值,我需要检查是否有相应的购买,如果有,则负值可以保持在。如果没有相应的购买,那么我需要从我的数据中删除该记录。作为一个例子,倒数第二个记录需要被删除,因为它是负数,并且在同一天没有相应的购买。第二天购买相同的产品,但由于它们在两次不同的访问中,因此不能算作对应的购买。
我试过想如何做到这一点,并考虑过嵌入式应用功能,相交功能或重复功能,但无论我无法掌握如何编写代码的功能。任何帮助将不胜感激。
编辑:根据亨里克的要求,我添加了四个新行到一个新客户的数据有一个负NDS_AMT记录应该应该留在数据中。 “相应购买”的条件是CUST_ID,CI2_TRANS_DT,HR_SID和PROD_NUM值必须全部匹配那些NDS_AMT小于0的记录。
我认为你需要提供一个**最小**的例子,其中“负值可以留在”的实例以及何时应该删除它们。您需要澄清如何判断“当天没有相应的购买”。干杯。 – Henrik
我做了一些编辑以满足您的要求;请让我知道是否需要更多数据。谢谢! – brittenb