我需要在R 中创建具有 50 名员工的 ID 和性别的数据框。为此,我将此代码与gl()函数一起使用。
gender<-gl(2, 25, label=c("Male", "Female"))
id<-1:50
df <- data.frame(id, gender)
Run Code Online (Sandbox Code Playgroud)
但这里的问题是前 25 行是“男性”,接下来的 25 行是“女性”。我想随机生成性别,每个性别有 50% 的机会。无论如何在R中做到这一点?
你可能想要 sample()
gender <- sample(c("Male", "Female"), size=50, replace=TRUE)
Run Code Online (Sandbox Code Playgroud)
您还可以执行一些操作,例如以随机顺序创建一个包含 25 个男性和女性的向量
sample(rep(c("Male","Female"),each=25)
Run Code Online (Sandbox Code Playgroud)
或获得 50/50 以外的比例
sample(c("Male", "Female"), size=50, replace=TRUE, prob=c(0.75,0.25))
Run Code Online (Sandbox Code Playgroud)