Diego,
Você já tem a solução, mas a 1ª parte da sua pergunta « Alguém teria uma ideia de onde estou errando, » me parece que todavia não foi endereçada explicitamente.
Considerando o exemplo de dados que vc passou acima, a solução é empregar a expressão regular adequada aos seus dados, da qual a função gsub depende para "entender" o que o programador deseja:
> gsub("EIA/EF/EQ/Q \\(U/mL\\)","",teste)
[1] "EIA/EF/EQ/Q (Índice) IgG - Valor (DO/CO, Índice)"
[2] "EIA/EF/EQ/Q (Índice) IgG - Valor (DO/CO, Índice)"
[3] "EIA/EF/EQ/Q (Índice) IgG - Valor (DO/CO, Índice)"
[4] " IgG - Valor (U/mL)"
[5] " IgG - Valor (U/mL)"
[6] " IgG - Valor (U/mL)"
[7] " IgG - Valor (U/mL)"
[8] " IgG - Valor (U/mL)"
Para os detalhes excruciantemente intestinos recomendo a leitura do manual na entrada regex.
HTH
--
Cesar Rabak