Eliminar todo después de una cadena en una columna de marco de datos con valores faltantes

Tengo un marco de datos similar al extracto a continuación:

Observation Identifier   Value
Obs001      ABC_2001     54
Obs002      ABC_2002     -2
Obs003                   1
Obs004                   1 
Obs005      Def_2001/05  

Me gustaría transformar este marco de datos en un marco de datos donde porciones de la cadena después del"_" se eliminaría el signo: como se ilustra a continuación:

Observation Identifier_NoTime   Value
Obs001      ABC                 54
Obs002      ABC                 -2
Obs003                          1
Obs004                          1 
Obs005      Def  

Traté de experimentar constrsplit, gsub ysub como se discutió aquí, pero no puede obligar a esos elogios a trabajar. Tengo que tener en cuenta el hecho de que:

La columna tiene valores faltantes y quiero dejarlos donde estánLa cadena "_" se encuentra en diferentes lugares de la variableTambién quiero dejar el resto del marco de datos como está

Respuestas a la pregunta(1)

Su respuesta a la pregunta