我有一个如下的数据集:
Col2 Col4 Col5 Col6
A dfjk:: 6 9
B DJE|end 92 133
C nedl5 13 12
如何通过定界符|
解析第二列?
最终预期输出:
Col2 Col4 NEW Col5 Col6
A dfjk:: NA 6 9
B DJE end 92 133
C nedl5 NA 13 12
答案 0 :(得分:1)
一种选择是使用tidyr::separate
library(tidyverse)
df %>% separate(Col4, c("Col4", "NEW"), sep = "\\|", fill = "right")
# Col2 Col4 NEW Col5 Col6
#1 A dfjk:: <NA> 6 9
#2 B DJE end 92 133
#3 C nedl5 <NA> 13 12
df <- read.table(text =
"Col2 Col4 Col5 Col6
A dfjk:: 6 9
B DJE|end 92 133
C nedl5 13 12", header = T)
答案 1 :(得分:0)
使用cSplit()
中的splitstackshape
很方便:
cSplit(df, "Col4", "|")
Col2 Col5 Col6 Col4_1 Col4_2
1: A 6 9 dfjk:: <NA>
2: B 92 133 DJE end
3: C 13 12 nedl5 <NA>