Có lẽ tôi không hiểu vấn đề của bạn đúng, vì ví dụ của bạn đơn giản. Theo sự hiểu biết của tôi, bạn có một loạt các hướng dẫn được lưu trữ trong các vectơ ký tự và những hướng dẫn đó rất gần với việc được định dạng đúng, ngoại trừ việc bạn muốn chuyển thành viên phù hợp thành số.
Nếu sự hiểu biết của tôi là đúng, tôi muốn đề xuất một cách tiếp cận hơi khác, không dựa vào việc tách chuỗi ban đầu của bạn, mà trực tiếp đánh giá hướng dẫn của bạn (với một chút cải thiện).
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
Về cơ bản, những gì chúng tôi đang làm là chúng tôi 'cải thiện' hướng dẫn của bạn variable_name="10"
để nó trở thành variable_name="10" %>% as.numeric
, tương đương variable_name=as.numeric("10")
với magrittr
cú pháp pipe-stream. Sau đó, chúng tôi đánh giá biểu thức này trong môi trường hiện tại.
Hy vọng điều đó sẽ giúp một người nào đó sẽ lang thang ở đây 8 năm sau ;-)