Похоже, что это может быть немного хрупким, поскольку это зависит от того, что после запятых нет пробелов, кроме последней:
gsub("[,] [^,)]+","", String)
[1] "(anthony,2019)"
Эта хрупкость также влияет на ответ Акруна.Более надежным решением было бы сопоставить последнюю запятую, но оставить в конце.Это решение будет искать эту последнюю запятую и обрезать все до, но не включая закрывающую скобку:
gsub("(.+)([,] [^,]+)([)])","\\1\\3", String) # 3 capture classes
[1] "(anthony,2019)" # return only first and third