使用R来自数据库的加权边缘列表

时间:2018-10-08 07:17:37

标签: r

我想使用数据库创建边缘列表以执行网络分析。

这里有一些图片来说明我想做什么。

以下图片是我的数据库的一个子集。

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在Period1中已到达H2和H4,并且在D4中也到达过。因此,H2和H4之间的边缘权重为2。

这里是我想要获取的边缘列表的图片:

enter image description here

由于网络是无向的,因此边缘列表应该是对称的。

0 个答案:

没有答案