Один из вариантов - разделить столбец «Ярлыки» на ,
, а затем использовать mtabulate
library(qdapTools)
+(mtabulate(strsplit(df1$Label, ",")) > 0)
# A B C D
#[1,] 1 0 0 0
#[2,] 0 1 0 0
#[3,] 0 0 1 0
#[4,] 0 0 0 1
#[5,] 1 1 1 0
#[6,] 1 0 1 0
#[7,] 1 1 0 1
#[8,] 1 1 1 1
data
df1 <- structure(list(Label = c("A", "B", "C", "D", "A,B,C", "A,C",
"D,B,A", "D,C,B,A")), class = "data.frame", row.names = c(NA,
-8L))