【问题标题】:error in strsplit when trying to separate by a comma尝试用逗号分隔时出现 strsplit 错误
【发布时间】:2014-09-29 18:18:07
【问题描述】:

我有向量

length
# [1] 15,34, 12,24, 225,
# Levels: 12,24, 15,34, 225,

我想用逗号分隔它们以最终列出这些值

试过了:

strsplit(length, ",") 

但不断收到错误消息

Error in strsplit(length, ",") : non-character argument

【问题讨论】:

    标签: r strsplit


    【解决方案1】:

    您的“长度”对象是factor

    如错误消息所示,strsplit 需要一个字符向量作为输入。

    试试:

    strsplit(as.character(length), ",") 
    

    演示

    x <- factor(c("1,2", "3,4", "5,6"))
    strsplit(x, ",")
    # Error in strsplit(x, ",") : non-character argument
    strsplit(as.character(x), ",")
    # [[1]]
    # [1] "1" "2"
    # 
    # [[2]]
    # [1] "3" "4"
    # 
    # [[3]]
    # [1] "5" "6"
    

    【讨论】:

      【解决方案2】:

      您也可以使用:(@Ananda Mahto 的帖子中的x

       library(stringr)
       str_split(x, ",")
       #[[1]]
       # [1] "1" "2"
      
       #[[2]]
       #[1] "3" "4"
      
       #[[3]]
       #[1] "5" "6"
      

      或者

        str_extract_all(x, "[0-9]+")
      

      或者

       library(stringi)
       stri_extract_all_regex(x, "[0-9]+")
      

      【讨论】:

        猜你喜欢
        • 2020-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-24
        相关资源
        最近更新 更多