我想确定同一网络中的所有人通过友谊提名直接或间接连接而没有来自不同网络的学生连接的网络。
我正在使用添加健康数据。每个学生最多提名 10 位朋友。比如说,样本数据可能如下所示:
ID FID_1 FID_2 FID_3 FID_4 FID_5 FID_6 FID_7 FID_8 FID_9 FID_10
1 2 6 7 9 10 NA NA NA NA NA
2 5 9 12 45 13 90 87 6 NA NA
3 1 2 4 7 8 9 10 14 16 18
100 110 120 122 125 169 178 190 200 500 520
500 100 110 122 125 169 178 190 200 500 520
700 800 789 900 NA NA NA NA NA NA NA
1000 789 2000 820 900 NA NA NA NA NA NA
大约有85,000人。谁能告诉我如何获得网络ID?所以,我希望数据如下所示
ID network_ID ID network_ID
1 1 700 3
2 1 789 3
3 1 800 3
4 1 820 3
5 1 900 3
6 1 1000 3
7 1 2000 3
8 1
9 1
10 1
12 1
13 1
14 1
16 1
18 1
90 1
87 1
100 2
110 2
120 2
122 2
125 2
169 2
178 2
190 2
200 2
500 2
520 2
因此,直接或间接连接到 ID 1 的每个人都属于网络 1。2 是 1 的朋友。因此,直接或间接连接到 2 的每个人也都在 1 的网络中,依此类推。700 未连接到 1 或 1 的朋友或 1 的朋友的朋友,依此类推。因此 700 位于不同的网络中,即网络 3。
任何帮助都感激不尽...