我有以下向量:
x = c("=-1000.51$^{*}$", "=.0038374", "=-2.91823e-09", "=7.290392e-09","=2.254938e-08$^{**}$")
将此向量转换为数字向量的最快方法是什么,例如:
x = c(-1000.51, .0038374, -2.91823e-09,7.290392e-09,2.254938e-08)
使用R?
我试过了
x %>% str_match_all("[0-9]+") %>% unlist %>% as.numeric
但它并没有像我希望的那样工作。感谢您的帮助。
这里有几行。最后三张摘自评论
as.numeric(trimws(trimws(x, "left", "="), "right", "\\D"))
x |> trimws("left", "=") |> trimws("right", "\\D") |> as.numeric()
as.numeric(trimws(x, "both", "[^-0-9]"))
read.table(text = sub("=", "", x), comment.char = "$")[[1]]
library(gsubfn)
strapply(x, "-?\\d.*\\d", as.numeric, simplify = TRUE)
library(readr)
parse_number(x)
as.numeric(gsub("[^-+0-9.e]", "", x))
library(stringr)
str_match_all(x, "[-+0-9.e]+") |> unlist() |> as.numeric()