【发布时间】:2022-10-13 17:08:07
【问题描述】:
我有一个看起来像这样的数据框。
有些行只是付款的回报:
Date payment Code ID
-----------------------------------
24/06/2002 200 ABC 011
24/06/2002 1000 M567 098
01/07/2002 1000 M567 098
01/07/2002 -1000 M567 098
08/07/2002 1200 XYZ 999
08/07/2002 -1200 XYZ 999
15/07/2002 1200 XYZ 111
17/07/2002 1200 XYZ 111
22/07/2002 200 M300 011
22/07/2002 56700 M678 12345
28/07/2002 -56700 M678 NA
29/07/2002 -200 ABC 011
我想通过考虑代码和 ID 来删除具有相同 +ve 和 -ve 付款的行。即,如果代码和 ID 列匹配并且付款正在取消,则删除这两列
因此,生成的数据框应该是这样的:
Date payment Code ID
01/07/2002 1000 M567 098
15/07/2002 1200 XYZ 111
17/07/2002 1200 XYZ 111
22/07/2002 200 M300 011
谁能帮我这个?
数据:
df1 <- structure(list(Date = c("24/06/2002", "24/06/2002", "01/07/2002",
"01/07/2002", "08/07/2002", "08/07/2002", "15/07/2002", "17/07/2002",
"22/07/2002", "22/07/2002","28/07/2002", "29/07/2002"), payment = c(200L,
1000L, 1000L, -1000L, 1200L, -1200L, 1200L, 1200L, 200L, 56700L, -56700L
-200L), Code = c("ABC", "M567", "M567", "M567", "XYZ", "XYZ",
"XYZ", "XYZ", "M300", "M678", "M678" , "ABC"), ID = c(11L, 98L, 98L, 98L,
999L, 999L, 111L, 111L, 11L, 12345L, NA, 11L)), class = "data.frame",
row.names = c(NA,
-11L))
【问题讨论】: