【发布时间】:2021-10-30 13:01:54
【问题描述】:
我有一个自我网络列表,我的目标是只获得改变的密度。所以基本上从密度计算中去除了自我。
使用来自我的previous question 的相同样本数据,我可以使用该答案来获取自我网络密度列表,但如何不能将每个自我包括在该计算中?
数据:
df<-read.table(text="student_id alter
1 3
2 5
2 2
2 3
3 2
3 4
3 5
4 1
4 6
4 3
5 1
5 6
5 2
6 5
6 2
6 1
7 8
8 9
9 8
9 7
10 7
10 9
11 19
11 15
11 12
12 20
12 19
12 11
13 15
13 19
13 11
14 16
14 12
14 18
15 17
15 20
15 17
16 14
16 19
16 20
16 13
17 20
17 18
17 13
17 14
18 13
18 19
18 17
19 17
19 16
19 11
20 13
20 17
20 11
20 1", header = TRUE)
当前代码:
g <- graph_from_data_frame(df, directed = TRUE)
egonet_list <- make_ego_graph(g, order = 1, mode = "out")
dat <- data.frame(
student_id = names(V(g)),
egonet_density = lapply(egonet_list, graph.density) %>% unlist()
)
但我想要的输出,意味着从密度计算中删除自我,只得到改变的密度。
更新
例如,数据示例中的 student_id 为 18:
egonet_list[[18]] %>% delete.vertices(., "18") %>% graph.density()
我正在苦苦挣扎的是如何在应用或循环中执行此操作,以便它可以通过每个自我网络运行并执行此操作。
【问题讨论】:
-
你的意思是图的密度吗?或者您能否为您的预期输出显示更多详细信息?
-
是的,很抱歉造成混乱。图的密度减去自我。
-
您能否显示所需的输出或“图形密度减去自我”的示例?
-
是的,已在上面更新。这有意义吗?