Talvez eu não tenha entendido direito o seu problema, pela simplicidade do seu exemplo. No meu entendimento, você tem uma série de instruções armazenadas em vetores de caracteres e essas instruções estão muito próximas de serem formatadas corretamente, exceto que você gostaria de converter o membro certo para numérico.
Se meu entendimento estiver correto, gostaria de propor uma abordagem um pouco diferente, que não dependa da divisão de sua corda original, mas avalie diretamente sua instrução (com uma pequena melhoria).
original_string <- "variable_name=\"10\"" # Your original instruction, but with an actual numeric on the right, stored as character.
library(magrittr) # Or library(tidyverse), but it seems a bit overkilled if the point is just to import pipe-stream operator
eval(parse(text=paste(eval(original_string), "%>% as.numeric")))
print(variable_name)
#[1] 10
Basicamente, o que estamos fazendo é que 'melhorar' a sua instrução variable_name="10"
para que se torne variable_name="10" %>% as.numeric
, o que é um equivalente do variable_name=as.numeric("10")
com magrittr
sintaxe tubulação-stream. Em seguida, avaliamos essa expressão no ambiente atual.
Espero que ajude alguém que vagou por aqui 8 anos depois ;-)