2017-06-13 68 views
0

我有一个大型数据集,包含大约400个健康主题的基础研究。我想把他们分成训练和验证队列。我想随机分裂,但由于年龄差异大,女性多于男性,我想与他们匹配,让两组男性和女性的比例相同/相同,年龄相似。按照年龄和性别划分培训和验证子集的数据框

由于没有区别(像患者和对照),我没有预先匹配他们的组 - 就像MatchIt -package。

有没有人有想法?

回答

0

randomizr包可能是你正在寻找。它允许分层随机化,因此您可以在培训和验证集之间随机抽样,同时按年龄和性别进行分层。您可能必须创建年龄段才能使其工作。

0
randomizr

Z <- block_ra(block_var = gender) 

这将创建零和一的向量给每个性别到Z = 1,如果你想在分层多东西

,也许类似的一半

Z <- block_ra(block_var = paste0(gender, age_cat)) 

如果您需要在许多变量上同时分层,我建议使用blockTools包。