r - Igraph:为自我网络创建三合会人口普查数据集
问题描述
我有一个友谊提名数据集。我试图首先获取每个人的自我网络,然后将三合会人口普查中每种三合会的数量作为自我的变量。到目前为止,这是一些示例数据和代码:
有数据:
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)
想要的数据:
student_id triad_003 triad_012 triad_102 triad_021D triad_021U triad_021C triad_111D triad_111U triad_030T triad_030C triad_201 triad_120D triad_120U triad_120C triad_210 triad_300
1 2 2 2 0 4 2 2 2 1 1 0 0 1 1 0 0
2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0
3 0 1 1 0 1 0 1 2 0 1 1 0 0 1 1 0
4 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0
5 0 0 0 1 0 1 3 1 0 1 0 0 1 0 2 0
6 0 1 1 1 1 1 1 1 1 0 0 0 1 0 1 0
7 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
9 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0
10 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
11 0 3 0 2 2 2 2 2 2 2 0 1 0 1 1 0
12 1 1 1 1 0 2 2 0 0 0 0 0 0 1 1 0
13 3 8 4 1 5 8 6 5 4 4 2 2 2 2 0 0
14 2 0 2 1 0 1 1 2 0 0 0 0 0 1 0 0
15 0 0 0 0 0 2 0 1 2 3 0 1 1 0 0 0
16 1 2 0 0 0 1 0 3 1 0 1 0 0 1 0 0
17 2 10 0 2 2 6 2 1 1 3 1 1 2 2 0 0
18 0 1 0 1 0 3 0 0 1 1 0 0 1 2 0 0
19 4 3 6 0 4 4 4 2 1 1 1 1 1 2 1 0
20 11 9 6 2 4 9 3 3 3 3 0 1 1 1 0 0
到目前为止,我已经在下面完成了这个,这给了我每个三元组的计数。但我正在努力获得上面想要的数据集:
egonet_list <- graph_from_data_frame(df, directed = TRUE) %>%
make_ego_graph(., order = 1, mode = "out")
triads <- lapply(egonet_list, triad.census)
解决方案
这并不优雅,但它似乎工作!
g <- graph_from_data_frame(df, directed = TRUE)
egonet_list <- make_ego_graph(g)
triads <- lapply(egonet_list, triad_census_full) %>% as.data.frame() %>%
`colnames<-`(names(V(g))) %>% t() %>% as.data.frame()
推荐阅读
- python - 重试请求机制
- javascript - 掷骰子计数器,当玩家准确击中 21 时获胜
- python-3.x - 将自定义键添加到字典以创建 Pandas 数据框
- powershell - 在powershell中搜索日志
- javascript - fancybox3 Javascript 初始化 iframe
- python - 尝试从 python 3 中的第一个商店获取第一个属性
- android - 领域在 executeTransactionAsync 的 onSuccess 回调中关闭错误
- angular - 我应该在注入的 Angular 服务上使用只读而不是公开它们吗?
- reactjs - 如何用酶测试一个元素是否在另一个元素之后?
- ruby-on-rails - 尝试将产品添加到卡时出现错误“除非保存父级,否则无法调用创建”如何解决?