Adaikalavan, thanks for your phantastic summary. Solution 5 is the version I was looking for, but I left out the cbind in good old c-fashion. > # Solution 5 : Vectorised operation with list extractor > system.time( ee <- PatDay$Day - StartDay[ cbind(PatDay$Treat,PatDay$Pat) Dieter