【发布时间】:2016-03-19 11:49:33
【问题描述】:
我想对 FIRST 机器人团队进行一些计算,并且需要构建一个二进制交互矩阵,因为没有更好的词。那是两支球队在同一个联盟的时候。每个联盟都有三支球队,因此在考虑 (i,j)、(j,i) 和 (i,i) 时,每场比赛有 7 个值添加到矩阵中。
我使用的完整数据在这里:http://frc-events.firstinspires.org/2016/MOKC/qualifications
但为简单起见,这里以 9 支球队每人打 1 场比赛为例。
> data.frame(Team.1=1:3,Team.2=4:6,Team.3=7:9)
Team.1 Team.2 Team.3
1 1 4 7
2 2 5 8
3 3 6 9
矩阵应该计算每个二元相互作用,(1,4),(4,7),(3,6),(6,3),(9,9) 等,并且将是 N x N矩阵,在上面的例子中 N=9。这是代表上述列表的矩阵:
> matrix(data=c(1,0,0,1,0,0,1,0,0,+
+ 0,1,0,0,1,0,0,1,0,+
+ 0,0,1,0,0,1,0,0,1,+
+ 1,0,0,1,0,0,1,0,0,+
+ 0,1,0,0,1,0,0,1,0,+
+ 0,0,1,0,0,1,0,0,1,+
+ 1,0,0,1,0,0,1,0,0,+
+ 0,1,0,0,1,0,0,1,0,+
+ 0,0,1,0,0,1,0,0,1),9,9)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 1 0 0 1 0 0 1 0 0
[2,] 0 1 0 0 1 0 0 1 0
[3,] 0 0 1 0 0 1 0 0 1
[4,] 1 0 0 1 0 0 1 0 0
[5,] 0 1 0 0 1 0 0 1 0
[6,] 0 0 1 0 0 1 0 0 1
[7,] 1 0 0 1 0 0 1 0 0
[8,] 0 1 0 0 1 0 0 1 0
[9,] 0 0 1 0 0 1 0 0 1
在真实数据中,团队编号不是连续的,更像是 5732、1345、3451 等,并且每个团队的匹配数更多,这意味着矩阵值将介于 0 和最大匹配数之间的球队。这在真实数据中可以看出。
感谢任何可以提供帮助的人。
【问题讨论】:
-
您能否详细说明矩阵的行和列的含义?我将其解释为“第 1 队曾见过第 4 队和第 7 队”。对吗?
-
没错。从比赛日程来看,1,4 和 7 一起,所以给 (1,1), (1,4), (4,7), (1,7), (4,1) 加了一个, (7,4) 和 (7,1) 在矩阵中,你有 (row,column)。