【发布时间】:2016-08-30 07:02:47
【问题描述】:
我有一个包含 5 个元素的字符向量。 4 个元素包含一个名称,但一个元素包含两个名称,以逗号分隔。
例如:
string <- c("Eric", "John", "Dora", "Michael, James", "Susan")
string
[1] "Eric" "John" "Dora" "Michael, James" "Susan"
我想将第四个元素分成两个单独的元素,这样:
string
[1] "Eric" "John" "Dora" "Michael" "James" "Susan"
当然,这应该很容易。然而,我似乎无法弄清楚。
当我使用时
strsplit(string, ",")
结果是一个列表。
我相信有办法将该列表转换为 data.frame 然后堆叠这些列,但我想知道这个问题是否有一些正则表达式魔术或substring 代码?
【问题讨论】:
-
只需在
strsplit上使用unlist。 -
所以
unlist(strsplit(string, ",")) -
您也可以考虑在
'\\s+'上进行拆分,这样就不会像在使用,作为拆分的情况下那样保留额外的空格。