I am new to R and have a deadline to complete this project where I am stuck in a circular reference kind of problem.
I want to trace the order from Add to execution/cancel, the process include either of following:
- add -> executed
- add -> cancel
- add -> modify -> executed / cancel
- add -> modify -> modify -> executed / cancel and so on
My table has a column S.No
with unique no for each row, order type
defining the type of entry, Trans Id
: unique id for the transaction (however it remains the same only if the order type is not modified, in case of order type = modify, this transaction id goes to a new column and a new Transaction id is generated, so my query is to trace the journey of each order in a separate column with unique identifier order key which should remain same for the order from adding to execution/closing.
My table and desired output look like this:
I tried using:
dh$orderkey <- with[dh$orderkey , ifelse(dh$PTransID %in% dh$TransID)]
but it didnt work.
this is the dput out put for sample 100 rows :
structure(list(Data.key = c(92447, 94018, 94115, 94125, 95686,
95792, 96323, 96328, 96331, 96342, 96358, 96370, 96555, 96579,
96843, 97064, 97547, 97548, 97550, 97552, 97556, 98153, 98714,
99986, 100970, 100971, 102728, 102730, 103755, 104061, 105912,
106423, 106732, 106740, 107666, 109981, 110160, 111100, 113098,
114056, 116035, 116764, 118487, 118514, 118864, 119300, 120130,
120797, 121211, 121998, 122271, 123654, 124075, 124355, 124369,
127332, 127454, 127932, 128241, 129703, 131033, 131354, 132234,
133132, 133349, 133883, 134829, 134878, 135155, 138446, 138638,
139527, 140353, 140903, 140930, 140934, 141075, 141447, 141738,
142558, 143064, 144245, 145167, 145792, 145878, 148006, 148682,
151001, 151221, 151253, 151287, 151750, 152474, 152662, 152864,
153750, 153993, 154653, 154676, 154754), Data.Order_Type = c("order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_cancel(C)", "order_Add(N)",
"order_cancel(C)", "order_modify(M)", "order_Add(N)", "order_Add(N)",
"order_Add(N)", "order_Add(N)", "order_Add(N)"), Data.TTP_ID = c("1643859000146019272",
"1643859000209001245", "1643859000213302022", "1643859000213806654",
"1643859000335231200", "1643859000375435653", "1643859000552440289",
"1643859000553529596", "1643859000554549133", "1643859000555603786",
"1643859000557214534", "1643859000558523595", "1643859000573534884",
"1643859000574687971", "1643859000601701934", "1643859000753838812",
"1643859001073721204", "1643859001074809203", "1643859001075969399",
"1643859001076973559", "1643859001077964078", "1643859001178504498",
"1643859001196063333", "1643859001228844284", "1643859001258568203",
"1643859001258589070", "1643859001340555507", "1643859001340576199",
"1643859001440728578", "1643859001484160654", "1643859002041390016",
"1643859002211192249", "1643859002266211328", "1643859002267484217",
"1643859002452887594", "1643859003119711451", "1643859003147616082",
"1643859003414474262", "1643859004156521050", "1643859004367389876",
"1643859005085171574", "1643859005239838672", "1643859005964944430",
"1643859005981067815", "1643859006160674308", "1643859006274501540",
"1643859006711285711", "1643859007100814506", "1643859007241000276",
"1643859007684552883", "1643859007811364355", "1643859008445728899",
"1643859008694292641", "1643859008827221928", "1643859008836801701",
"1643859010282172323", "1643859010379849722", "1643859010489206456",
"1643859010719539511", "1643859011634677518", "1643859012609508982",
"1643859012908104325", "1643859013441999446", "1643859013950047445",
"1643859014128142413", "1643859014469906133", "1643859015147563211",
"1643859015163551738", "1643859015387966841", "1643859018206409689",
"1643859018497935664", "1643859019504780814", "1643859020767431050",
"1643859022009376617", "1643859022086268622", "1643859022102351430",
"1643859022480114953", "1643859023586155839", "1643859024594018337",
"1643859028867142630", "1643859031620433918", "1643859034523761102",
"1643859037420643794", "1643859039284016489", "1643859039515733850",
"1643859045910217643", "1643859047795949364", "1643859055700211343",
"1643859056450059354", "1643859056554194343", "1643859056767138261",
"1643859000335231200", "1643859061230798066", "1643859001228844284",
"1643859062961384511", "1643859066472758424", "1643859067402320215",
"1643859068627240998", "1643859068699725205", "1643859069043437803"
), Data.PTT1 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, "1643859056450059354", NA, NA, NA, NA, NA)), row.names = c(NA,
100L), class = "data.frame")