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