My dataframe contains a column with various touch points, numbers 1 till 18. I want to know which touch point results in touch point 10. Therefore I want to create a new column which shows the touch point which occurred before touch point 10 per customer journey (PurchaseID). If touch point 10 doesn't occur in a customer journey the value can be NULL or 0. So for example:
dd <- read.table(text="
PurchaseId  TouchPoint DesiredOutcome
1           8          6
1           6          6
1           10         6
2           12         0
2           8          0
3           17         4
3           3          4
3           4          4
3           10         4", header=TRUE)
The complete dataset contains 2.500.000 observations. Does anyone know how to solve my problem? Thanks in advance.
 
     
    