Może nie zrozumiałem twojego problemu dobrze, z powodu prostoty twojego przykładu. Według mojego rozumienia, masz serię instrukcji przechowywanych w wektorach znakowych, a instrukcje te są bardzo bliskie poprawnego sformatowania, z wyjątkiem tego, że chciałbyś rzutować właściwy element na numeryczny.
Jeśli dobrze rozumiem, chciałbym zaproponować nieco inne podejście, które nie polega na dzieleniu oryginalnego ciągu, ale bezpośrednio ocenia twoją instrukcję (z niewielką poprawą).
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
Zasadniczo to, co robimy, polega na tym, że „poprawiamy” Twoje instrukcje, variable_name="10"
tak aby stały się variable_name="10" %>% as.numeric
, co jest odpowiednikiem variable_name=as.numeric("10")
zmagrittr
składnią rura strumienia. Następnie oceniamy to wyrażenie w obecnym środowisku.
Mam nadzieję, że pomoże to komuś, kto wędrowałby tu 8 lat później ;-)