【发布时间】:2017-07-07 21:32:05
【问题描述】:
假设我有以下数据:
df <- data.frame(teams=c("A", "B", "C", "D"),
players=c(5,2,1,2),
stringsAsFactors = FALSE)
> df
teams players
1 A 5
2 B 2
3 C 1
4 D 2
我想填充一个加权 4x4 矩阵,该矩阵类似于一个团队中的一名球员与所有其他球队的所有其他球员的成对组合。
在此示例中,输出应如下所示:
m <- matrix(c(4,2,1,2,5,1,1,2,5,2,0,2,5,2,1,1), nrow=4, ncol=4)
colnames(m) <- df$teams
rownames(m) <- df$teams
> m
A B C D
A 4 5 5 5
B 2 1 2 2
C 1 1 0 1
D 2 2 2 1
请注意,来自 A 队的玩家可以与:
- A 队的其他 4 名球员
- B队2名队员
- C 队 1 名球员
- D 队 2 名队员
有人知道怎么做吗?
真实数据包含数千支球队和数百万球员。
【问题讨论】: