我需要帮助创建一个新的数据帧。我有一个数据帧,我需要从中提取相同的100个样本。但是这些数据必须与原始数据集具有相同比例的男性和女性。我如何保持比例相同?
PTData看起来像这样
PTNumb。性。年龄。 SysbP。吸烟。 ...
1。 M. 12。 76。 Ñ
2。 F 。 13。 89。是的
PTData有5000组数据。我需要拉100,男性的部分是0.46,女性是0.54,并存储为新的数据帧。
我不想使用我最初做过的分层功能。
答案 0 :(得分: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)