【发布时间】:2020-12-11 09:05:16
【问题描述】:
我有许多不同学校和年级的青少年数据集。我的目标是制作所有孩子的邻接矩阵,并为不同学校和年级的学生添加结构零(值 = 10)(他们只能提名与自己在同一学校和年级的朋友)。
到目前为止,我有邻接矩阵,但我不确定如何根据顶点属性数据框中的条件更改单元格值。
我在下面的示例数据框和矩阵。
有 DF:
id school grade friendid_1 friendid_2 friendid_3 friendid_4
1 101 8 2 4 NA NA
2 101 8 NA NA NA NA
3 101 8 1 5 2 NA
4 101 8 1 NA 2 NA
5 101 9 1 3 NA NA
6 101 9 9 7 NA NA
7 101 9 9 10 NA NA
8 101 9 NA 10 NA NA
9 101 9 6 NA NA NA
10 101 9 NA NA 7 NA
11 102 8 15 NA NA NA
12 102 8 11 15 NA NA
13 102 9 15 12 14 11
14 102 9 13 NA NA NA
15 102 9 12 NA NA NA
16 103 8 19 NA NA 17
17 103 8 19 20 NA NA
18 103 8 17 NA NA NA
19 103 8 NA NA NA 17
20 103 8 18 17 19 NA
有矩阵:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
想要矩阵:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 0 1 0 1 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
2 0 0 0 0 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
3 1 1 0 0 1 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
4 1 1 0 0 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
5 1 0 1 0 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
6 10 10 10 10 10 0 1 0 1 0 10 10 10 10 10 10 10 10 10 10
7 10 10 10 10 10 0 0 0 1 1 10 10 10 10 10 10 10 10 10 10
8 10 10 10 10 10 0 0 0 0 1 10 10 10 10 10 10 10 10 10 10
9 10 10 10 10 10 1 0 0 0 0 10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 0 1 0 0 0 10 10 10 10 10 10 10 10 10 10
11 10 10 10 10 10 10 10 10 10 10 0 0 0 0 1 10 10 10 10 10
12 10 10 10 10 10 10 10 10 10 10 1 0 0 0 1 10 10 10 10 10
13 10 10 10 10 10 10 10 10 10 10 1 1 0 1 1 10 10 10 10 10
14 10 10 10 10 10 10 10 10 10 10 0 0 1 0 0 10 10 10 10 10
15 10 10 10 10 10 10 10 10 10 10 0 1 0 0 0 10 10 10 10 10
16 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 1 0 1 0
17 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 0 0 1 1
18 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 1 0 0 0
19 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 1 0 0 0
20 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 1 1 1 0
【问题讨论】:
标签: r for-loop matrix conditional-statements apply