按分隔符顺序连接列

时间:2018-11-19 18:09:34

标签: r

我有2列要合并成一个列。每列都有分隔符“>”,每行具有相同数量的分隔符,或者根本没有分隔符。

col1 <- c('A > B > C > B > B > A > B > A > C',
      'A > B',
      'A > C > B',
      'A',
      'A > B > B > C')

col2 <- c('D > E > E > E > F > F > D > F > E',
      'D > F',
      'F > F > E',
      'E',
      'E > F > D > D')

df <- data.frame(col1, col2)

我想得到一个这样的数据框:

col1
A|D > B|E > C|E > B|E > B|F > A|F > B|D > A|F > C|E
A|D > B|F
A|F > C|F > B|E
A|E
A|E > B|F > B|D > C|D

1 个答案:

答案 0 :(得分:1)

您正在寻找:

mapply(paste,strsplit(col1,' > '),strsplit(col2,' > '),sep='|',collapse=' > ')
[1] "A|D > B|E > C|E > B|E > B|F > A|F > B|D > A|F > C|E"
[2] "A|D > B|F"                                          
[3] "A|F > C|F > B|E"                                    
[4] "A|E"                                                
[5] "A|E > B|F > B|D > C|D"