Я пытаюсь создать фиктивный набор данных о сотрудниках для практического анализа. У меня уже есть фиктивный набор данных с поддельными именами сотрудников, идентификаторами работы, полом и этнической принадлежностью. Я также хочу добавить другие переменные, такие как статус руководителя и уровень оплаты. Тем не менее, работники мужского пола, скорее всего, будут руководителями, чем работницы женского пола в фактическом наборе данных, поэтому вместо указания R сделать 30% наблюдателей по делам и 70% не-наблюдателей, я хочу, чтобы R составляло 20% женщин. падежи и 30% наблюдателей по делам мужчин.
Я пытался использовать case_when () или group_by () вместе с функцией sample (), но не могу заставить его работать.
Идеальное решение могло бы быть масштабировано дальше, чем просто дихотомические переменные, потому что уровень оплаты и этническая принадлежность имеют 5 уровней. Кроме того, если бы я мог масштабировать решение для учета нескольких переменных (скажем, пола и этнической принадлежности), это было бы лучше.
Вот некоторые фальшивые данные с 5 случаями мужского и 5 случаев женского пола. Для этого случая, скажем, я хочу 4 0% наблюдателей мужского пола (2/5) и только 20% наблюдателей женского пола (1/5) .
library(tidyverse)
test <- tibble(emp_num = 1:10,
ethnicity = c("White", "White", "Hispanic", "Black", "Asian", "White", "White", "Hispanic", "Black", "Asian"),
gender = c("Male", "Female", "Male", "Female", "Male", "Female", "Male", "Female", "Male", "Female"))
Вот как должен выглядеть ответ в правильных пропорциях (разумеется, какой номер сотрудника является руководителем, для этого случая не имеет значения, лишь бы появлялись разные пропорции для мужчин и женщин).
sample_answer <- tibble(emp_num = 1:10,
ethnicity = c("White", "White", "Hispanic", "Black", "Asian", "White", "White", "Hispanic", "Black", "Asian"),
gender = c("Male", "Female", "Male", "Female", "Male", "Female", "Male", "Female", "Male", "Female"),
sup_status = c("Supervisor", "Supervisor", "Supervisor", "Non-Super", "Non-Super", "Non-Super", "Non-Super", "Non-Super", "Non-Super", "Non-Super"))