【问题标题】:Splitting Dataframe for Training and Validation Subsets Matching for Age and Sex拆分数据框以匹配年龄和性别的训练和验证子集
【发布时间】:2017-06-13 20:58:16
【问题描述】:

我有一个包含大约 400 名健康受试者的大型数据集,用于基础研究。我想将他们分成培训和验证队列。我考虑过随机拆分,但由于年龄差异很大,而且女性比男性多,我想将他们匹配成两组,男女比例相似/相同,年龄分布相似。

由于没有区分(如患者和对照),我没有事先匹配它们的组 - 就像 MatchIt 包一样。

有人有想法吗?

【问题讨论】:

    标签: r


    【解决方案1】:

    randomizr 包可能正是您想要的。它允许分层随机化,因此您可以在训练集和验证集之间随机化样本,同时按年龄和性别进行分层。您可能必须创建年龄箱才能使其正常工作。

    【讨论】:

      【解决方案2】:

      randomizr:

      Z <- block_ra(block_var = gender)
      

      这将创建一个由 0 和 1 组成的向量,将每个性别的一半分配给 Z = 1。

      如果你想对多个事物进行分层,可能是这样的

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

      如果您需要同时对多个变量进行分层,我建议您使用blockTools 包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 2019-05-01
        • 2019-07-25
        • 2016-09-13
        • 2020-02-10
        • 2016-07-04
        • 2020-10-01
        相关资源
        最近更新 更多