Матрица инцидентности связи между двумя отдельными узлами в R

#r #dataframe #matrix

#r #dataframe #матрица

Вопрос:

Мой dataframe состоит из двоичного веса между парой электродов:

 > head(data)
  Elec1 Elec2 weight
1    C3    C3      0
2    C3    C4      1
3    C3   CP1      1
4    C3   CP2      0
5    C3   CP5      0
6    C3   CP6      1
 

По сути, у меня есть 25 электродов и их перестановки (625 наблюдений) для других 25 электродов, включая тот же электрод, и двоичный вес. Предположим, что 1 означает подключенный, а 0 означает отключенный.

Я пытаюсь построить матрицу ссылок, чтобы анализировать эти данные с помощью различных сетевых визуализаций.

Конечный продукт может быть примерно таким

   Elec C3 C4 CP1 CP2 CP5
1   C3  0   1   2   0   0
2   C4  1   1   0   1   0
3   CP1 1   1   1   1   1
4   CP2 0   0   0   2   1
5   CP5 0   1   1   1   1

 

Обратите внимание, что в нем должна быть двунаправленная логика, отсюда и возможные 2s.

Я пытался model.matrix , но не смог заставить это работать.

Заранее спасибо!

Ответ №1:

В случае, если кто-то сочтет это полезным, я закончил тем, что использовал library(reshape2) and, в частности melt , function .

Это сделало свое дело, и тогда мне не нужно было двунаправленное повторение.

 table(melt(d, id.var=c("Elec1","Elec2")))