0
我對SAS很新。我花了一些時間尋找我的問題的解決方案。不幸的是,我找不到任何。我非常感謝你的幫助。問題其實很簡單。如何找到兩個不同長度變量的共同值?
我有兩個不同的數據集(我們稱之爲dat1和dat2)長度不同。而且,它們都有一個變量X,我感興趣。我正在尋找一種方法來找到這兩列的共同值(我們稱它們爲dat1_X和dat2_X)。數據集雖然很大,但約有1000萬觀測值。
我對SAS很新。我花了一些時間尋找我的問題的解決方案。不幸的是,我找不到任何。我非常感謝你的幫助。問題其實很簡單。如何找到兩個不同長度變量的共同值?
我有兩個不同的數據集(我們稱之爲dat1和dat2)長度不同。而且,它們都有一個變量X,我感興趣。我正在尋找一種方法來找到這兩列的共同值(我們稱它們爲dat1_X和dat2_X)。數據集雖然很大,但約有1000萬觀測值。
有很多方法!
如果一個數據集很小,並且效率是一個問題,那麼可以考慮使用散列表(或格式)在通過較大表的同時執行查找。
否則,下面的SQL方法就可以了(可以嘗試測試,看看哪些是最有效的):
/* correlated subquery (generally slow) */
proc sql;
create table want1 as
select distinct x
from dat1_x
where x in (select from dat2_x);
/* inner join */
proc sql;
create table want2 as
select distinct a.x
from dat1_x a, dat2_x b
where a.x=b.x;
/* intersect */
proc sql;
create table want3 as
select x
from dat1_x
intersect
select x
from dat2_x;
請給您的數據,到目前爲止,你已經嘗試過的情況的例子。 – Jetzler
研究proc比較。 – JJFord3