R - сопоставление строк и столбцов матриц разной длины
моя проблема на данный момент заключается в следующем. У меня есть направленный 1-mode edgelist, представляющий пары актеров, участвующих в совместных проектах в течение определенного года, который может выглядеть следующим образом:
projektleader projectpartner year
A B 2005
A C 2000
B A 2002
... ... ...
Теперь мне нужно только подмножество для одного конкретного года. Не все актеры активны в течение года, поэтому размеры подмножеств различны. Для следующего сетевого анализа мне нужна взвешенная и направленная матрица смежности, поэтому я использую опцию [сетевой пакет] для ее создания. Сначала я загружаю его как сетевой объект и затем преобразую в матрицу смежности.
grants_00 <- subset(grants, (year_grant=2000), select = c(projectpartner, projectleader))
nw_00 <- network(grants_08to11[,1:2], matrix="edgelist", directed=TRUE)
grants_00.adj <- as.matrix(nw_00, matrix.type = "adjacency")
Полученная матрица выглядит как
A B C E ...
A 0 1 1 0
B 1 0 0 0
...
Все идет нормально. Моя проблема сейчас: для дальнейшего анализа, который я планирую сделать, мне нужна Матрица смежности для каждого года с одинаковым измерением и порядком. Это означает, что все действующие лица из исходного набора данных должны быть именами строк и столбцов матрицы для соответствующих лет, но матрица должна содержать только наблюдаемые пары для этого определенного года. Я надеюсь, что моя проблема ясна. Я ценю любые конструктивные решения.
Моя идея ATM заключается в следующем: я создаю матрицу исходного набора данных и сокращенного набора данных. Затем я установил все значения матрицы в ноль. Затем я как-то сопоставляю его с уменьшенной матрицей и заполняю его правильными значениями в правильных строках и столбцах. К сожалению, я понятия не имею, как это возможно.
Кто-нибудь знает, как решить эту проблему?