I have a dataframe like this
df <-data.frame(id = c(1,2), value = c(25,24), features = c(\"A,B,D,F\",\"C,B,E\")) print(df) i
You can do:
library(splitstackshape) library(qdapTools) df1 = data.frame(cSplit(df, 'features', sep=',', type.convert=F)) cbind(df1[1:2], mtabulate(as.data.frame(t(df1[-c(1,2)])))) # id value A B C D E F #1: 1 25 1 1 0 1 0 1 #2: 2 24 0 1 1 0 1 0