【发布时间】:2019-12-13 13:25:25
【问题描述】:
我想将我的数据拆分为开发和验证集。数据应按 ID 拆分。对于我大约 30% 的 data 个人,我有丰富的观察结果,其余 70% 的数据很少。
对于我的开发集,我想包含所有拥有丰富数据的个人(即使这样做可能不是一个好习惯),然后用稀疏数据填充个人。验证集不应包含任何丰富的数据。
一些示例数据:
# A tibble: 6 x 4
ID CONC TIME RICH
<chr> <dbl> <dbl> <dbl>
1 A 55.0 1 1
2 A 52.6 2 1
3 A 50.2 3 1
4 A 47.9 4 1
5 E 40.7 2 0
6 E 38.3 2 0
我知道sample() 函数,但我不知道如何“随机”拆分带有权重的数据。
编辑:所有 ID 都有几个观察值,因此随机化应该在 ID 上取决于 RICH。如果有超过 n 个观察值,则将个人指定为拥有丰富的数据。
编辑 2:75%/25% 的分配应该在 ID 上。
【问题讨论】: