在R中生成具有给定概率的数据

时间:2014-10-22 11:43:35

标签: r dataframe

我需要使用ID和50名员工的性别在 R 中创建数据框。为此,我将此代码与gl()函数一起使用。

gender<-gl(2, 25, label=c("Male", "Female"))
id<-1:50
df <- data.frame(id, gender)

但这里的问题是前25行是&#34;男性&#34;接下来的25行是&#34;女性&#34;。我希望随机生成性别,每个性别的可能性为50%。无论如何在R?

中做到这一点

1 个答案:

答案 0 :(得分:3)

您可能需要sample()

gender <- sample(c("Male", "Female"), size=50, replace=TRUE)

您还可以执行诸如以完全25个男性和女性的随机顺序创建矢量

sample(rep(c("Male","Female"),each=25)

或获得50/50以外的比例

sample(c("Male", "Female"), size=50, replace=TRUE, prob=c(0.75,0.25))