Возможно, я неправильно понял вашу проблему из-за простоты вашего примера. Насколько я понимаю, у вас есть ряд инструкций, хранящихся в символьных векторах, и эти инструкции очень близки к правильному форматированию, за исключением того, что вы хотите преобразовать правильный член в числовой.
Если я правильно понимаю, я хотел бы предложить немного другой подход, который не полагается на разделение исходной строки, а непосредственно оценивает вашу инструкцию (с небольшим улучшением).
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
В принципе, то , что мы делаем, что мы «улучшить» вашу инструкцию variable_name="10"
так , что она становится variable_name="10" %>% as.numeric
, что является эквивалентом variable_name=as.numeric("10")
с magrittr
синтаксисом трубы потока. Затем мы оцениваем это выражение в текущей среде.
Надеюсь, это поможет тому, кто будет бродить здесь 8 лет спустя ;-)