首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用面板数据计算社会网络描述性统计

用面板数据计算社会网络描述性统计
EN

Stack Overflow用户
提问于 2021-05-22 16:32:20
回答 1查看 89关注 0票数 2

我有不同时间在不同医院工作的医生的信息。我想定义医院月级的网络,这样同龄人就是在同一家医院一起工作的医生。由于医生可以同时在多家医院工作,网络组部分重叠。

那么,我想在月份级别上计算结果网络的基本描述(例如平均程度、密度、聚类),以查看这些参数随时间的变化。

考虑非常简单的例子,医院x-y-w,周期1-2和医生A-B-C-D。

  • 医生A、B和C期在医院工作x在医院工作
  • 医生A和B在医院工作第2期
  • A在医院工作第1期在y医院工作
  • 医生A和C在医院工作2

H 19医生C和D在医院工作在第1期H 210H 111医生A和D在医院的工作在第2期<代码>H 212F 213

在下面的dataframe中表示了这一点。

代码语言:javascript
复制
mydf <- data.frame(hospital = c("x","x","x","x","x","y","y","y","w","w","w","w"), 
                period = c(1,1,1,2,2,1,2,2,1,1,2,2), 
                physician = c("A","B","C","A","B","A","A","C","C","D","A","D"))

现在,我已经编写了下面的代码。首先,我在一个给定的医院月中与每一位医生一起构建一个数据框架.第二,我对每段时间的对进行过滤。第三,我为每段时间定义了一个define对象。第四,我绘制图表并计算每个时期的描述性统计数据(例如密度)。有更简单的方法吗?如果不是,我如何能够在多个时期内自动执行这段代码?

代码语言:javascript
复制
relations <- mydf %>%
  rename(from = physician) %>%
  left_join(mydf, by=c("hospital","period")) %>%
  rename(to = physician) %>%
  filter(from!=to) %>%
  relocate(from, to)

relations_1 <- relations %>%
  filter(period==1)

relations_2 <- relations %>%
  filter(period==2)

g1 <- simplify(graph_from_data_frame(relations_1, directed=FALSE, vertices=NULL))
g2 <- simplify(graph_from_data_frame(relations_2, directed=FALSE, vertices=NULL))

plot(g1)
plot(g2)

degree(g1)
degree(g2)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-22 20:38:37

更新

可以使用以下代码创建g1g2degree1degree2

代码语言:javascript
复制
rlst <- split(relations, relations$period)
for (i in seq_along(rlst)) {
  assign(paste0("g", i), simplify(graph_from_data_frame(rlst[[i]], directed = FALSE, vertices = NULL)), envir = .GlobalEnv)
  assign(paste0("degree", i), degree(get(paste0("g", i))), envir = .GlobalEnv)
}

你是说这个吗?

代码语言:javascript
复制
relations %>%
  group_by(period) %>%
  group_map(~ degree(simplify(graph_from_data_frame(.x, directed = FALSE))))

这给

代码语言:javascript
复制
[[1]]
A B C D
2 2 3 1

[[2]]
A B C D
3 1 1 1 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67651866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档