【问题标题】:Pass from literal string numeric to numeric in R从文字字符串数字传递到R中的数字
【发布时间】:2018-04-07 06:39:28
【问题描述】:

假设我有

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

我想传递给

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

我知道我可以将每个可能的字符串值映射到它的数值,但是,假设我没有这些值的先验知识,所以映射效率非常低,是否有任何包已经进行了这种解析?

【问题讨论】:

  • 看起来很有趣的安德烈,也许这将是这个问题最有效的方法。
  • 一个选项可以是library(english); v1 <- 1:10; v1[as.character(english(1:10)) %in% list_of_literals]
  • 不错的 akrun,这就是我正在寻找的答案。请回答问题,我将其设置为答案。

标签: r parsing tidyr data-cleaning


【解决方案1】:

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

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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 2017-02-27
    • 1970-01-01
    • 2021-05-05
    • 2017-05-02
    • 2018-08-05
    • 2021-09-02
    相关资源
    最近更新 更多