2014-10-22 43 views
1

我需要在R中創建數據框,其中Id和性別爲50名員工。爲此,我使用gl()函數的這個代碼。在R中生成給定概率的數據

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

但這裏的問題是前25行是「男」,後面25行是「女」。我想隨機產生性別,每種性別有50%的機會。無論如何要在R中完成它?

回答

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)) 
+1

+1,當然它可以在一步完成而不需要創建對象'id'和'ge nder「,然後創建數據幀(例如, (d)< - data.frame(id = 1:50,gender = sample(c(「Male」,「Female」),50,replace = T,prob = c(0.5,0.5)))'') – 2014-10-22 11:50:25