Превратить столбец с факторами в списке в матрицу модели в R

Итак, у меня есть data.frame, который я хотел бы превратить в model.matrix. Это все в R

Вот пример того, что у меня есть:

   col1
1 "factor1","factor2"
2 "factor1"
3 "factor3"
4 "factor1","factor2"

Я хотел бы создать следующий вывод:

   factor1 factor2 factor3
1    1       1       0
2    1       0       0
3    0       0       1
4    1       1       0

Буду признателен за любой совет! Я использовал sparse.model.matrix безрезультатно, поскольку он создает уникальные столбцы факторов для каждого списка, а не распознает их как списки схожих факторов.

Вот dput() начала данных (оно намного больше):

dd = structure(list(id = c("rs62224609", "", "", "", "rs62224609", "",        "", "", "", 
"", "", "", "", "", "", "", "rs587626763", "", "", "", "rs62224609", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "rs62224609,rs587626763", "", "", "", "", "", "", 
"", "", "", "", "rs587626763", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "rs587626763", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", ""), library = structure(c(4L, 
4L, 4L, 5L, 5L, 5L, 4L, 4L, 5L, 5L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 
5L, 3L, 5L, 2L, 4L, 4L, 2L, 2L, 3L, 1L, 4L, 2L, 2L, 5L, 2L, 2L, 
2L, 4L, 3L, 3L, 4L, 5L, 3L, 4L, 3L, 4L, 5L, 4L, 5L, 2L, 5L, 5L, 
2L, 2L, 4L, 3L, 5L, 3L, 5L, 5L, 4L, 1L, 5L, 2L, 3L, 5L, 5L, 1L, 
4L, 1L, 2L, 4L, 5L, 1L, 3L, 4L, 4L, 2L, 1L, 4L, 2L, 5L, 5L, 1L, 
5L, 2L, 3L, 3L, 1L, 1L, 3L, 5L, 4L, 5L, 5L, 5L, 4L, 2L, 1L, 3L, 
3L, 2L, 1L), .Label = c("42", "43", "44", "45_1", "45_2"), class = "factor")), .Names = c("id", 
"library"), row.names = c(NA, 100L), class = "data.frame")

head(dd, 8)
#           id library
# 1 rs62224609    45_1
# 2               45_1
# 3               45_1
# 4               45_2
# 5 rs62224609    45_2
# 6               45_2
# 7               45_1
# 8               45_1

Желаемый вывод

    rs62224609 
1            1
2            0
3            0
4            0
5            1
6            0
7            0
8            0

0 ответов

Другие вопросы по тегам