将数据框字符串列拆分为多列

我想要表格上的数据

before=data.frame(attr=c(1,30,4,6),type=c('foo_和_-bar','foo_和_-bar_-2'))
属性类型
1 1 foo_和_bar
2 30富和巴2
3 4 foo_和_bar
4 6 foo_和_bar_2

然后在上面的“键入””列上使用split(),可以得到如下结果:

attr type\u 1 type\u 2
1福吧
2 30福巴2
3.4富吧
4 6福巴2

我想出了一些难以置信的复杂方法,包括某种形式的apply,但后来我把它放错了地方。这似乎太复杂了,不是最好的办法。我可以使用下面的strsplit,但不清楚如何将其返回到数据帧中的两列中

>strsplit(作为.character(在$type之前)、“\u和”)
[[1]]
[1] “foo”“bar”
[[2]]
[1] “foo”“bar_2”
[[3]]
[1] “foo”“bar”
[[4]]
[1] “foo”“bar_2”

谢谢你的指点。我还没有完全弄清楚R列表

使用stringr::str\u split\u fixed

库(stringr)
str_split_fixed(在$type“_and_u”之前,2)

发表评论