Вы не предоставили нам много информации здесь, но я бы сгруппировал данные по позициям, а затем взял 1 выборку из каждой группы.Использование data.table было бы моим подходом для этого
library(data.table)
setDT(data)
data[, sample(Player, 1), by = Position]
Однако в бейсболе аутфилдеры обычно все группируются как одна позиция - "OF"
.В этом случае вам нужно будет сделать выборку "OF"
3 раза, а все остальные просто 1. Вы можете использовать оператор if()
в аргументе size
для этого сценария.
data[, sample(Player, if(Position == "OF") 3 else 1), by = Position]