3
我学习的SAS数据合并,并找到下面的例子关于“数据合并”在SAS
data newdata;
merge yourdata (in=a) otherdata (in=b);
by permno date;
我不知道该怎么办“(在=一)”和“(在= B) “ 意思?谢谢。
我学习的SAS数据合并,并找到下面的例子关于“数据合并”在SAS
data newdata;
merge yourdata (in=a) otherdata (in=b);
by permno date;
我不知道该怎么办“(在=一)”和“(在= B) “ 意思?谢谢。
yourdata(in=a)
在程序数据向量中创建一个名为'a'的标志变量,如果记录来自yourdata则包含1;如果不是,则包含0。然后您可以使用这些变量根据记录的来源执行条件操作。
如果你看到
data newdata;
merge yourdata(in=ThisRecordIsFromYourData) otherdata(in=ThisRecordIsFromOtherData);
by permno date;
run;
假设需要从yourdata记录在此步骤进行操作可能更容易理解,而不是那些从otherdata,然后你可以做这样的事情
data newdata;
merge yourdata(in=ThisRecordIsFromYourData) otherdata(in=ThisRecordIsFromOtherData);
by permno date;
if ThisRecordIsFromYourData then do;
* some operation here for yourdata records only ;
end;
run;
这些变量的一个明显用途是使用if
语句控制将发生什么样的“合并”。例如,if ThisRecordIsFromYourData and ThisRecordIsFromOtherData;
将使SAS只包含匹配来自两个输入数据集的变量(如内连接)的行。
还应该注意的是,这些标志变量不会保存在正在创建的数据集中。如果你想保留它们,我通常会创建像这样的附加变量:a1 = a; b1 = b;然后在输出数据集中引用a1和b1。 – 2011-01-21 15:30:12