Я пытаюсь создать матрицу смежности M из списка pList, содержащего индексы, которые должны быть равны 1 в матрице M. Например, M является матрицей 10x5 Переменная Plist содержит 5 элементов, каждый из которых представляет собой вектор индексовR Заполнить матрицу со списком индексов
Пример:
s <- list("1210", c("254", "534"), "254", "534", "364")
M <- matrix(c(rep(0)),nrow = 5, ncol = length(unique(unlist(s))), dimnames=list(1:5,unique(unlist(s))))
на самом деле, мой слишком простым решением является жестоким одна с цикл по строкам матрицы:
for (i in 1:nrow(M)){
M[i, as.character(s[[i]])] <- 1
}
Так что ожидаемый результат:
M
1210 254 534 364
1 1 0 0 0
2 0 1 1 0
3 0 1 0 0
4 0 0 1 0
5 0 0 0 1
Проблема заключается в том, что я должен манипулировать матрицы с несколькими тысячами строк, и это занимает слишком много времени. Я не эксперт «применить», но мне интересно, если есть быстрое решение
Благодаря
С уважением