В качестве альтернативы, в пакете splitstackshape
есть вспомогательная функция, которая может оказаться полезной.Выходные данные представляют собой матрицу
splitstackshape:::charMat(strsplit(people_names, ","), fill = 0L)
# Bob Megan Mike Sarah
#[1,] 1 1 1 1
#[2,] 0 0 1 1
#[3,] 0 1 0 1
#[4,] 1 0 0 0
Из того же пакета вы также можете попробовать cSplit_e
library(splitstackshape)
out <- cSplit_e(
data.frame(people_names),
split.col = "people_names",
sep = ",",
mode = "binary",
type = "character",
fill = 0L,
drop = TRUE
)
# remove prefix of column names
(out <- setNames(out, sub("people_names_", "", names(out), fixed = TRUE)))
data
people_names = c("Bob,Megan,Mike,Sarah",
"Mike,Sarah",
"Megan,Sarah",
"Bob")