Следующий код сделает это.Первый sub
необходим для экранирования метасимволов [
и ]
, которые присутствуют в столбце "charge"
.
sapply(seq_len(nrow(df)), function(i){
x <- df[i, "name"]
y <- df[i, "charge"]
trimws(sub(y, "", x, fixed = TRUE))
})
#[1] "Cer[AP] t44:0;" "FA 20:0;"
#[3] "PG 36:1; PG(18:0/18:1)"
Так что все, что вам нужно сделать, это назначить выводвыше в новый столбец.
df$new_name <- sapply(seq_len(nrow(df)), function(i){
x <- df[i, "name"]
y <- df[i, "charge"]
trimws(sub(y, "", x, fixed = TRUE))
})