R: Convert delimited string into variables

Assuming you are starting with:

df <- data.frame(v1 = c("Ab B C", "", "X C", "N Ab F S"))

You can try cSplit_e from my “splitstackshape” package:

library(splitstackshape)
cSplit_e(df, "v1", sep = " ", type = "character", fill = 0)
#         v1 v1_Ab v1_B v1_C v1_F v1_N v1_S v1_X
# 1   Ab B C     1    1    1    0    0    0    0
# 2              0    0    0    0    0    0    0
# 3      X C     0    0    1    0    0    0    1
# 4 N Ab F S     1    0    0    1    1    1    0

Leave a Comment