Вы можете использовать встроенный для этого strsplit :
> s = "TGAS_1121"
> s1 = unlist(strsplit(s, split='_', fixed=TRUE))[2]
> s1
[1] "1121"
strsplit возвращает оба фрагмента строки, проанализированной в параметре split , в виде списка . Вероятно, это не то, что вам нужно, поэтому оберните вызов в unlist , затем index этого массива, чтобы возвращался только второй из двух элементов в векторе.
Наконец, параметр fixed должен быть установлен в TRUE, чтобы указать, что параметр split является не регулярным выражением, а литеральным совпадающим символом.