我想将2个数字数据集组合到另一个没有公共变量的数据集

时间:2014-10-14 16:02:04

标签: merge sas concatenation

我正在识别某些事情。我有一个带有我的标识符的数据集(ID1和ID2) 对于每个ID1,有多个ID2 我找到了唯一ID1的数量,并使用ranuni和seed创建了随机数,并将它们输出到数据集中。我为ID2做了同样的事情。 现在我有ID1和ID2我想创建一个excel文件,它将输出ID1 ID2去识别ID1和去识别ID2。我打算合并,但我没有任何东西要合并(观察除外)。所以我很困惑。建议将不胜感激。

编辑: 示例数据集

data real_data;
  input ID1  ID2;
  datalines;    
1   11    
1   12    
1   13    
1   14    
1   15    
2   11   
3   13
3   14    
3   17
;;;;
run;

1 个答案:

答案 0 :(得分:1)

并排合并不会在这里工作,因为ID1比ID2少。除非您可以轻松制作id1和id2组合的数据集,否则您无法做到这一点。

首先,我不会以这种方式进行去除识别。您可以在同一个datastep中执行此操作。基本上,创建一个随机排序参数(两个,id1和id2各一个),然后按那个排序,然后在那个点分配顺序ID。应用于随机排序数据集的顺序ID本质上是去识别的。

如果你想用一个单独的数据集来做,我会用一种格式构建你的随机ID,这种格式将顺序1:num(ID_1)转换为ID1_DEID,ID2也是如此。然后为每个ID1创建一个递增1的计数器,为每个ID2递增一个计数器,并在每种情况下使用格式PUT计数器,生成de_id值。