繁体   English   中英

通过固定分隔符拆分字符向量值 - 返回每个向量值一行的数据帧

[英]Split character vector values by fixed delimiter - return data frame with one row for each vector value

定界符出现在所有向量值中,并且只出现一次,因此每个向量值应该恰好是一对,结果应该是一个两列数据框。

我对我的解决方案并不不满,但想知道是否有一些很酷的功能可以让这更容易。 打开任何 package,但首选 R。

test <- rep("a,b", 5)

# expected result
data.frame(t(do.call(cbind, strsplit(test, ","))))
#>   X1 X2
#> 1  a  b
#> 2  a  b
#> 3  a  b
#> 4  a  b
#> 5  a  b

您可以使用tidyr::separate()

test <- data.frame(x = rep("a,b", 5))
separate(test,x, c("X1","X2"))
#>   X1 X2
#> 1  a  b
#> 2  a  b
#> 3  a  b
#> 4  a  b
#> 5  a  b

您可以使用extract

library(tidyr)

data.frame(test) %>%
  extract(col = test, 
          into = c("X1", "X2"),
          regex = "(.),(.)")
 X1 X2
1 a  b
2 a  b
3 a  b
4 a  b
5 a  b

数据:

test <- rep("a,b", 5)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM