Como procurar várias strings e substituí-las por nada em uma lista de strings

Tenho uma coluna em um dataframe como este:

npt2$name
#  [1] "Andreas Groll, M.D."
#  [2] ""
#  [3] "Pan-Chyr Yang, PHD"
#  [4] "Suh-Fang Jeng, Sc.D"
#  [5] "Mostafa K Mohamed Fontanet Arnaud"
#  [6] "Thomas Jozefiak, M.D."
#  [7] "Medical Monitor"
#  [8] "Qi Zhu, MD"
#  [9] "Holly Posner"
# [10] "Peter S Sebel, MB BS, PhD Chantal Kerssens, PhD"
# [11] "Lance A Mynderse, M.D."
# [12] "Lawrence Currie, MD"

Eu tenteigsub mas sem sorte. Depois de fazertoupper(x) Preciso substituir todas as instâncias de 'MD' ou 'M.D.' ou 'PHD' sem nada.

Existe um pequeno truque para fazer isso?

Na verdade, eu estaria interessado em vê-lo feito em uma única string e quão diferente é feito em um comando em toda a list

questionAnswers(6)

yourAnswerToTheQuestion