Назначать случайные задачи группам - PullRequest
0 голосов
/ 16 мая 2019

У меня 5 групп:

groups <- as.tribble( ~ group, 
                     "group_1",
                     "group_2",
                     "group_3",
                     "group_4",
                     "group_5")

И я хочу случайным образом назначить каждому из них задачу:

tasks <- as.tribble( ~ task, 
                    "task_1",
                    "task_2",
                    "task_3",
                    "task_4",
                    "task_5")

1 Ответ

3 голосов
/ 16 мая 2019

Исходя из двух фреймов данных с одинаковым количеством строк, используя dplyr, я бы сделал это:

inner_join(
  mutate(groups, rand = sample(n())),
  mutate(tasks, rand = sample(n())),
  by = "rand"
) %>%
select(-rand)

Это будет случайным образом сопоставлять каждую строку из groups с каждой строкой из tasks, но при этом будет включена каждая группа и каждая задача. Это будет обобщать просто отлично, если у вас есть больше столбцов в любом фрейме данных. Предполагается, что у вас одинаковое количество строк в каждой --- если нет, будут включены все строки из меньшего фрейма данных и случайная подвыборка строк из большего фрейма данных.

Если вы хотите что-то еще, пожалуйста, уточните характеристики вашего случайного процесса.

...