Вы можете использовать
sub(".*:(.*)", "\\1", "Delete:Delete:Delete:Keep")
# [1] "Keep"
и аналогично для столбца:
df$col <- sub(".*:(.*)", "\\1", df$col)
Вот как это работает: .*
соответствует всему до последнего :
из-за жадного соответствия,Затем (.*)
захватывает все после последнего :
, то есть это становится нашим окончательным значением.