sas proc surveyselect与列上的CONSTRAINT

sas proc surveyselect与列上的CONSTRAINT,sas,Sas,我正在尝试使用proc surveyselect基于2列创建一个唯一的示例数据集。 我有一个带有person\u id和househouse\u id的简单表。在本例中,person\u id是我的主键,它是创建样本的主要输入。但我需要确保我不会在样本数据和基础数据之间混用家庭id。 因此,如果Househouse_id=123是样本,则不允许它出现在基础数据中,即使有另一个人的_id,反之亦然 你有什么好主意吗?我所有的解决方案预处理或后处理都会影响样本大小 谢谢!! E.正如您所发现的,pr

我正在尝试使用proc surveyselect基于2列创建一个唯一的示例数据集。 我有一个带有person\u id和househouse\u id的简单表。在本例中,person\u id是我的主键,它是创建样本的主要输入。但我需要确保我不会在样本数据和基础数据之间混用家庭id。 因此,如果Househouse_id=123是样本,则不允许它出现在基础数据中,即使有另一个人的_id,反之亦然

你有什么好主意吗?我所有的解决方案预处理或后处理都会影响样本大小

谢谢!! E.

正如您所发现的,proc surveyselect不允许这种约束。如果你想适应它,你必须接受你的采样中的轻微失真。我的建议如下:

使用proc surveyselect创建随机样本 识别样本数据集中同时存在于基础数据集中的所有住户ID。假设有N个这样的。 从基本数据集中创建另一个大小为N的样本,并排除原始样本中的所有住户ID。 将所有匹配的Househous_id行放回基本数据集中,从原始样本中删除它们,并将新样本附加到原始样本中。
嗨,这就是我现在正在做的。我希望找到一个现成的解决方案:谢谢用户667489