Вот решение, которое может работать здесь:
input <- c("Matt Schaub QB - ATL", "Phillip Andersen K", "Cleveland Browns DEF",
"San Francisco 49ers DEF", "New England Patriots DEF", "J.T. Barrett QB - PIT",
"Tre McBride WR", "N'Keal Harry WR - NE", "MyCole Pruitt TE - TEN",
"J.J. Arcega-Whiteside WR - PHI", "Tre'Quan Smith WR - NO")
output <- sub("\\s*\\b[A-Z]+(?: - [A-Z]+)?$", "", input)
output
[1] "Matt Schaub" "Phillip Andersen" "Cleveland Browns"
[4] "San Francisco 49ers" "New England Patriots" "J.T. Barrett"
[7] "Tre McBride" "N'Keal Harry" "MyCole Pruitt"
[10] "J.J. Arcega-Whiteside" "Tre'Quan Smith"
Идея в том, чтобы удалить инициалы или инициалы, которые встречаются в конце имен спортивных команд.