Список взвешенных ребер из базы данных с использованием R - PullRequest
0 голосов
/ 08 октября 2018

Я хотел бы использовать базу данных для создания списка границ для анализа сети.

Вот несколько рисунков, объясняющих, что я хотел бы сделать.

Следующая картинкаПодмножество моей базы данных.

enter image description here

Вот подробности с использованием dput ():

mydata <- structure(list(DoctID = c("D1", "D1", "D1", "D2", "D2",  
"D3", "D4", "D4", "D4", "D4"), HospID = c("H1", "H2", "H4", "H1",
"H3","H1", "H1", "H2", "H3", "H4"), Period1 = c(0L, 1L, 1L, 1L, 0L, 
1L, 0L, 1L, 1L, 1L)), row.names = c(NA, -10L), class = c("tbl_df",
"tbl", "data.frame"), spec = structure(list(cols = list(DoctID
=structure(list(), class = c("collector_character", "collector")),
HospID = structure(list(), class = c("collector_character",
"collector")), Period1 = structure(list(), class =
c("collector_integer", "collector"))), default = structure(list(),
class = c("collector_guess", "collector"))), class = "col_spec"))

Я хочу создать список ребер с весами, длякакие две больницы связаны между собой, если один и тот же врач был в двух больницах в период 1. Если врач был в данной больнице в период 1, в столбце «Период 1» есть 1, в противном случае - 0. Вессоответствует количеству врачей, которые были в двух одинаковых больницах в период 1.

То есть, например, D1 был в H2 и H4 в период 1, а также D4.Таким образом, вес ребра между H2 и H4 равен 2.

Вот изображение списка ребер, которое я хотел бы получить:

enter image description here

Поскольку сеть не является ненаправленной, список ребер должен быть симметричным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...