1

如何转换字符串:

a <- "c(\"4\", \"5\", \"7\", \"8\", \"9\", \"10\")" 

到一个值向量:4,5,7,8,9,10 ?

4

1 回答 1

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]]
于 2019-08-28T05:23:45.427 回答