【发布时间】:2020-06-18 17:41:29
【问题描述】:
让 x 是一个包含 5 个变量和 15 个观测值的数据集:
age gender height weight fitness
17 M 5.34 68 medium
23 F 5.58 55 medium
25 M 5.96 64 high
25 M 5.25 60 medium
18 M 5.57 60 low
17 F 5.74 61 low
17 M 5.96 71 medium
22 F 5.56 75 high
16 F 5.02 56 medium
21 F 5.18 63 low
20 M 5.24 57 medium
15 F 5.47 72 medium
16 M 5.47 61 high
22 F 5.88 73 low
18 F 5.73 62 medium
适应度变量值的频率如下: 低 = 4,中 = 8,高 = 3。
假设我有另一个数据集 y,它具有相同的 5 个变量但有 100 个观察值。该数据集中适应度变量值的频率如下: 低 = 42,中 = 45,高 = 13。
使用 R,我如何从 y 中获得一个有代表性的样本,使得样本适应度与 x 中的适应度分布紧密匹配?
我最初的想法是使用 R 中的示例函数并为 prob 参数分配加权概率。然而,使用概率将强制频率分布精确匹配。我的目标是在最大化样本量的同时获得足够接近的匹配。
另外,假设我希望添加另一个约束条件,其中性别分布也必须与 x 的分布紧密匹配?
【问题讨论】:
-
我认为您最多可以从 y 中采样 22、45 和 17 个,总共 84 个(在 100 个中)。这给出了 0.26、0.54 和 0.20 的比例,与 x (0.27, 0.53, 0.20) 的比例非常接近。
-
但是我该如何执行这个并让 R 为我做采样呢?另请注意,我不可能采样 17 个高适应度值,因为最大值为 13。无论如何,样本分布不一定要那么接近,只要足以通过 x 的代表性样本即可。我想样本的大小对我来说并不像实际上首先获得样本那样紧迫。我也意识到,我设置的约束越多,样本量就会越小。
-
啊,是的。我忘了添加那个约束。因此,通过从每个中减去一定数量来调整 84,然后重新计算样本大小,得到 18、35 和 13,它们的比例分别为 0.27、0.53 和 0.20。
标签: r sample frequency-distribution