w*********r 发帖数: 488 | 1 比如
data aa;
set bb cc;
by var1;
run;
和
data aa;
merge bb cc;
by var1;
run;
我自己在SAS上做了一下简单的实验,两个结果是一样的。当然我自己编的data set也
很简单就是了。请问在什么样的情况下会产生不一样的结果呢?还是两个根本就是一回
事? |
h******e 发帖数: 1791 | 2 简单的说merge是真正的merge,set是stack两个dataset。 |
w*********r 发帖数: 488 | 3 谢谢~~~
【在 h******e 的大作中提到】 : 简单的说merge是真正的merge,set是stack两个dataset。
|
w*********r 发帖数: 488 | 4 有兴趣的同学还可以把第一个data set Dairy里面的milk拿出来一条放到第二个data
set里面,结果会不一样哦~~~
【在 w*********r 的大作中提到】 : 谢谢~~~
|
t**i 发帖数: 688 | 5 Set and Merge are not the same!
Try the following code:
data Dairy;
input Item $ Inventory Price ;
datalines;
Milk 15 1.99
Milk 3 1.99
Soymilk 8 2.99
Eggs 24 2.99
;
proc sort data=Dairy;
by Item;
run;
data Dairy2;
input Item $ Inventory Price;
datalines;
Soymilk 8 2.99
Eggs 24 2.99
Cheese 14 3.29
Yogurt 10 2.49
;
proc sort data=Dairy2;
by Item;
run;
data cc;
set Dairy Dairy2;
by Item;
run;
data dd;
merge Dairy Dairy2;
by Item;
run;
擦把汗。把学习笔记附上来,共同探讨学习之用。
【在 w*********r 的大作中提到】 : 有兴趣的同学还可以把第一个data set Dairy里面的milk拿出来一条放到第二个data : set里面,结果会不一样哦~~~
|
R*****g 发帖数: 99 | 6 online tutor里边这个讲得很清楚
擦把汗。把学习笔记附上来,共同探讨学习之用。
贴切一些。SET不会有overwrite的问题,除非一个DATA step里有两个以上的SET
statements。MERGE是把data sets搅拌在一起,我觉得叫blend也可以。MERGE就会
overwrite前面的值如果variable名称相同。这两个得出的结果照说是不该一样的,为
什么我昨天会得出同样的结果呢?这两个data sets长这个样,有SAS的去实验一下就知
道了。设计的data sets如下:
【在 w*********r 的大作中提到】 : 有兴趣的同学还可以把第一个data set Dairy里面的milk拿出来一条放到第二个data : set里面,结果会不一样哦~~~
|