【问题标题】:how to make 2 separate substrings from strsplit in R [duplicate]如何从R中的strsplit制作2个单独的子字符串[重复]
【发布时间】:2020-12-16 12:29:47
【问题描述】:

我正在努力从 R 中使用 strsplit 拆分字符串中获得 2 个单独的字符串。我很欣赏这可能是一个非常简单的请求,但我似乎找不到答案。

我有一个名为x 的字符串,如下所示:

"1.23e+05,1.3e+05"

我尝试使用以下代码对其进行拆分:

str_split <- strsplit(x,split= ',', fixed=TRUE)

这似乎产生了一个长度为 1 的列表,其字符为:"1.23e+05" "1.3e+05"

但是,当我尝试使用 str_split[1] 对其进行子集化时,它只会返回整个内容。

从该结果中获取 2 个子字符串的最简单解决方案是什么?

谢谢

【问题讨论】:

    标签: r


    【解决方案1】:

    我建议使用unlist() 并保存在向量中:

    #Data
    x <- "1.23e+05,1.3e+05"
    #Split
    str_split <- unlist(strsplit(x,split= ',', fixed=TRUE))
    #Output
    str_split[1]
    str_split[2]
    

    输出:

    str_split[1]
    [1] "1.23e+05"
    str_split[2]
    [1] "1.3e+05"
    

    【讨论】:

      【解决方案2】:

      如果您对列表进行子集访问以访问列表中包含的第一个元素,您应该会得到您期望的行为:

      str_split <- strsplit("1.23e+05,1.3e+05", split= ',', fixed=TRUE)
      str_split[[1]]
      
      [1] "1.23e+05" "1.3e+05"
      

      输出是一个字符向量,其中包含两个项目。我认为这里不需要或使用两个单独的变量。但是,如果你想要这样,你可以使用:

      exp1 <- str_split[[1]][1]
      exp2 <- str_split[[1]][2]
      

      【讨论】:

        猜你喜欢
        • 2017-12-30
        • 1970-01-01
        • 2019-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多