r-按固定分隔符拆分字符矢量值-每个矢量值返回一行的数据帧



分隔符存在于所有向量值中,并且只存在一次,因此每个向量值应该只产生一对,结果应该是两列数据帧。

我对我的解决方案并不感到不满,但想知道是否有一些很酷的功能可以让这件事变得更容易。对任何包装打开,但首选基本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)

相关内容

  • 没有找到相关文章

最新更新