如何转换字符串:
a <- "c(\"4\", \"5\", \"7\", \"8\", \"9\", \"10\")"
到值向量:4、5、7、8、9、10吗?
答案 0 :(得分:5)
不太喜欢的eval
parse
在这里很方便
as.integer(eval(parse(text = a)))
#[1] 4 5 7 8 9 10
或者您可能想按标题所示将其保留为字符。
eval(parse(text = a))
#[1] "4" "5" "7" "8" "9" "10"
基于字符串的复杂程度,您还可以从字符串中提取所有数字。
stringr::str_extract_all(a, "\\d+")[[1]]
或在基数R
中regmatches(a, gregexpr("\\d+", a))[[1]]