【问题标题】:Covert string into a vector of letter in R将字符串转换为R中的字母向量
【发布时间】:2014-08-22 12:26:55
【问题描述】:

假设我在 R 中有一个字符串 "aa1122ddccdsadsa"

我想将任何字符串转换为字母向量,我该怎么做?

我的意思是给一个字符串,我想要它是

"a" "a" "1" "1" "2" etc

【问题讨论】:

  • strsplit("aa1122ddccdsadsa", "")[[1]]

标签: r string vectorization


【解决方案1】:

实际上有很多方法可以做到这一点。这是一个使用strsplit 和正则表达式的例子:

x <- c("aa1122ddccdsadsa")

strsplit(gsub("([[:alnum:]]{1})", "\\1 ", x), " ")[[1]]

> strsplit(gsub("([[:alnum:]]{1})", "\\1 ", x), " ")[[1]]
 [1] "a" "a" "1" "1" "2" "2" "d" "d" "c" "c" "d" "s" "a" "d" "s" "a"

您也可以使用substringplyr

【讨论】:

    【解决方案2】:

    使用来自stringi packagestri_sub 函数 从 1,2,3... 字母中获取长度为 1 的子串

    require(stringi)    
    x <- "alamakota"
    stri_sub(x,from=1:stri_length(x),length = 1)
    ## [1] "a" "l" "a" "m" "a" "k" "o" "t" "a"
    

    【讨论】:

      猜你喜欢
      • 2018-12-07
      • 1970-01-01
      • 2012-12-12
      • 2020-02-27
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多