将观察值随机分配到SAS数据集的测试或控制中

时间:2014-08-28 21:17:05

标签: sas

我有一个大型SAS数据集,我想将观察结果随机分配给不同的测试和控制组。

20%的观察结果将是对照 5%将是Test1 75%将是Test2

Basicaly,

obs
1
2
3
4
5

会变成

obs cell
1   control
2   test2
3   test2
4   test1
5   test2

我该怎么做?

由于

1 个答案:

答案 0 :(得分:1)

PROC SURVEYSELECT是这样做的基本方式。但是,Surveyselect不允许一次挑选3组。

您可以在数据步骤中执行此操作,也可以使用SURVEYSELECT两次;一次挑选第一组(20%),然后选择第二组(75%/ 80%,93.75%)从未选中,然后仍未被选中的第3组。

在datastep中,这并不是非常困难;你可以只是分配一个随机值,按随机值对数据进行排序,然后将前5%的记录作为1,接着将20%的(所有)记录作为2,最后75%作为3;或者您可以对第三组使用k / n采样并进行一些修改。