A common use case in R (at least for me) is identifying observations in a data frame that have some characteristic that depends on the values in some subset of other observa
This situation is tailor-made for using the plyr package.
plyr
ddply(raw, .(WorkerId), function(df) df[-NROW(df),])
It produces the output
WorkerId Iteration 1 1 1 2 1 2 3 1 3 4 2 1 5 2 2 6 2 3 7 3 1 8 3 2 9 3 3