В этом примере я буду использовать пакет data.table
.
Предположим, у вас есть таблица тренеров
coaches <- data.table(CoachID=c(1,2,3), CoachName=c("Bob","Sue","John"), NumPlayers=c(2,3,0))
coaches
CoachID CoachName NumPlayers
1: 1 Bob 2
2: 2 Sue 3
3: 3 John 0
и таблица игроков
players <- data.table(PlayerID=c(1,2,3,4,5,6), PlayerName=c("Abe","Bart","Chad","Dalton","Egor","Frank"))
players
PlayerID PlayerName
1: 1 Abe
2: 2 Bart
3: 3 Chad
4: 4 Dalton
5: 5 Egor
6: 6 Frank
Вы хотите сопоставить каждого тренера с набором игроков таким образом, чтобы
- Количество игроков, привязанных к каждому тренеру, определяется полем NumPlayers
- Нет двух тренеров, привязанных к одному и тому же игроку
- Игроки и тренеры сопоставляются случайным образом.
Как вы это делаете?
exampleResult <- data.table(CoachID=c(1,1,2,2,2,3), PlayerID=c(3,1,2,5,6,NA))
exampleResult
CoachID PlayerID
1: 1 3
2: 1 1
3: 2 2
4: 2 5
5: 2 6
6: 3 NA