2017-03-28 22 views
0

我正在嘗試使用proc surveyselect創建一個基於2列的獨特樣本數據集。 我有一個person_id和household_id簡單的表。在這種情況下,person_id是我的「主鍵」,它是創建樣本的主要輸入。但是我需要確保我不會在sample和base數據之間混合使用household_id。 因此,如果household_id = 123是樣本,則不允許出現在基礎數據中(即使使用其他person_id),反之亦然。sas proc surveyselect with contstraint on column

你有一個方便的想法?我所有的解決方案預處理或後處理將影響樣本大小。

謝謝! E.

回答

1

正如你所發現的,proc surveyselect不允許這種約束。如果您想要適應,您將不得不接受樣本中的輕微變形。我的建議是進行如下操作:

  • 使用PROC SURVEYSELECT創建隨機抽樣
  • 識別樣本數據集也存在於基礎數據集中的所有household_ids。假設有N個。
  • 從基礎數據集中創建另一個大小爲N的樣本,排除原始樣本中的所有household_id。
  • 將所有匹配的household_id行放回到基本數據集中,將它們從原始樣本中刪除,然後將新樣本追加到原始樣本。
+0

嗨,這就是我正在做的現在。我希望能找到一個開箱即用的解決方案:)謝謝user667489 – Ele