我有一个包含两列的数据框:
**+-----+-------+
| V1 | V2 |
+-----+---------+
| 1 | a,b,c |
| 2 | a,c |
| 3 | b,d |
| 4 | e |
| . | . |
+-----+-------+**
Run Code Online (Sandbox Code Playgroud)
我想根据第二列内的标记字符将第二列拆分为多列.我希望输出如下.
**+-----+-------------+
| V1 | V2 | V3 | V4 |
+-----+---------------+
| 1 | a | b | c |
| 2 | a | c | NA |
| 3 | b | d | NA |
| 4 | e | NA | NA |
| . | . | . | . |
+-----+-------------+**
Run Code Online (Sandbox Code Playgroud)
这是对这个问题的概括,但是尺寸不平衡.例如,以下示例:
myVec <- c("F.US.CLE.V13", "F.US.CA6.U13", "F.US.CA6.U13","F.US.CA6", "F.US", "F")
Run Code Online (Sandbox Code Playgroud)
或者你可以尝试这个包 splitstackshape
cSplit(dat, 2, drop = TRUE,sep=',')
V1 V2_1 V2_2 V2_3
1: 1 a b c
2: 2 a c NA
3: 3 b d NA
4: 4 e NA NA
Run Code Online (Sandbox Code Playgroud)