【问题标题】:R convert string to vector tokenize using " "R使用“”将字符串转换为向量标记
【发布时间】:2012-08-09 06:12:05
【问题描述】:

我有一个字符串:

string1 <- "This is my string"

我想将其转换为如下所示的向量:

vector1
"This"
"is"
"my"
"string"

我该怎么做?我知道我可以使用tm 包转换为termDocumentMatrix,然后转换为矩阵,但它会按字母顺序排列单词,我需要它们保持相同的顺序。

【问题讨论】:

  • Dason 提供了一个很好的解决方案,但如果您的文本比这更复杂(即标点符号等),您将需要更强大的方法。
  • GSee 这要求不同的东西。 screechOwl 想要将单个字符向量拆分为单词,因为您提供的链接表明发布者想要输入将转换为字符的未加引号的单词。
  • @TylerRinker,是的,我想 question 不是骗子,但有些答案回答了这个问题,例如 this onethis one

标签: string r vector


【解决方案1】:

您可以使用 strsplit 来完成此任务。

string1 <- "This is my string"
strsplit(string1, " ")[[1]]
#[1] "This"   "is"     "my"     "string"

【讨论】:

    【解决方案2】:

    与 Dason 略有不同,但这会拆分为任意数量的空白,包括换行符:

    string1 <- "This   is my
    string"
    strsplit(string1, "\\s+")[[1]]
    

    【讨论】:

      【解决方案3】:

      作为补充,我们还可以使用unlist() 从给定的列表结构中生成向量:

      string1 <- "This is my string"  # get a list structure
      unlist(strsplit(string1, "\\s+"))  # unlist the list
      #[1] "This"   "is"     "my"     "string"
      

      【讨论】:

        【解决方案4】:

        如果您只是通过分割空格来提取单词,这里有几个不错的选择。

        string1 <- "This is my string"
        
        scan(text = string1, what = "")
        # [1] "This"   "is"     "my"     "string"
        
        library(stringi)
        stri_split_fixed(string1, " ")[[1]]
        # [1] "This"   "is"     "my"     "string"
        stri_extract_all_words(string1, simplify = TRUE)
        #      [,1]   [,2] [,3] [,4]    
        # [1,] "This" "is" "my" "string"
        stri_split_boundaries(string1, simplify = TRUE)
        #      [,1]    [,2]  [,3]  [,4]    
        # [1,] "This " "is " "my " "string" 
        

        【讨论】:

          【解决方案5】:

          试试:

          library(tm)
          library("RWeka")
          library(RWekajars)
          NGramTokenizer(source1, Weka_control(min = 1, max = 1))
          

          这是针对您的问题的过度设计的解决方案。 strsplit 使用 Sacha 的方法通常就可以了。

          【讨论】:

            猜你喜欢
            • 2020-11-13
            • 1970-01-01
            • 2018-12-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多