从文字字符串数字传递到R中的数字

时间:2017-10-26 02:19:05

标签: r parsing tidyr data-cleaning

让我说我有

list_of_literals <- c('six', 'seven', 'eight' ... )

我希望传递给

list_of_numerics <- c(6, 7, 9 ...)

我知道我可以将每个可能的字符串值映射到它的数值,但是,我们假设我没有先前的值知识,因此映射效率非常低,是否有任何已经解析的包?

1 个答案:

答案 0 :(得分:2)

我们可以使用english。创建一个数字的初始向量(&#39; v1&#39;),将其转换为english并检查它是%in%&lt; list_of_literals&#39;获得逻辑vector并基于该子集的&#39; v1&#39;

library(english)
v1 <- 1:10
v1[as.character(english(1:10)) %in% list_of_literals]
#[1] 6 7 8

数据

list_of_literals <- c("six", "seven", "eight")