Я хочу быстро преобразовать список векторов символов в список числовых векторов. Я стараюсь избегать purrr::map()
, lapply()
и им подобных. Я заканчиваю списком векторов символов из вывода операции stringr
. Я хочу использовать Rcpp
или внутренний C материал R. Это для пакета filesstrings
. Стандартная библиотека C ++ предоставляет stod()
, определенный в <string>
, но она не ведет себя как as.numeric()
, например, она преобразует "12a" в число 12, но мне нравится, как as.numeric()
возвращает NA
для этого. Вот как я это делаю сейчас.
nums_as_chars <- stringr::str_extract_all(c("a1b2", "c3d4e5", "xyz"), "\\d")
nums_as_chars
#> [[1]]
#> [1] "1" "2"
#>
#> [[2]]
#> [1] "3" "4" "5"
#>
#> [[3]]
#> character(0)
nums <- purrr::map(nums_as_chars, as.numeric)
nums
#> [[1]]
#> [1] 1 2
#>
#> [[2]]
#> [1] 3 4 5
#>
#> [[3]]
#> numeric(0)
Создано 4 апреля 2018 г. пакетом REPEX (v0.2.0).
character_vector
в качестве тестового набора данных. - person Rory Nolan   schedule 05.04.2018