首页 文章

R中的分层数据集

提问于
浏览
-5

我需要帮助创建一个新的数据帧 . 我有一个数据帧,我需要从中提取相同的100个样本 . 但是这些数据必须与原始数据集具有相同比例的男性和女性 . 我怎样才能保持比例相同?

PTData看起来像这样

PTNumb . 性 . 年龄 . SysbP . 吸烟 . ...

1 . M. 12 . 76 . ñ

2 . F . 13 . 89 . ÿ

PTData有5000组数据 . 我需要拉100,男性的部分是0.46,女性是0.54,并存储为新的数据帧 .

我不想使用我最初做过的分层功能 .

1 回答

  • 1

    使用 tidyverse 工具,它应该是这样的 . 我假设给定的比例为0.46男性到0.54女性是现有的数据集比率,因为这就是你所说的你想要的 . 将来,查找以前的资源并提供示例数据集是很好的 .

    library(tidyverse)
    sampled <- PTData %>%
        group_by(Sex) %>%
        sample_n(size = 100)
    

    编辑:使用基本功能,您可以手动执行此操作:

    m <- PTData[Sex == "M", ]
    f <- PTData[Sex == "F", ]
    sample_m <- m[sample(1:nrow(m), size = 46), ]
    sample_f <- f[sample(1:nrow(f), size = 54), ]
    sampled <- rbind(sample_m, sample_f)
    

相关问题