2014-03-26 53 views
0

目前我有兩個具有相似變量列表的數據集。每個數據集都有一個過程變量。我想比較數據集之間的過程變量的頻率。我在兩個數據集中都創建了一個標誌來標識源數據集,並且要合併但沒有公共標識符。如何合併數據集而不刪除任何觀察值?這不僅僅是一個簡單的Merge沒有By函數,對吧?合併沒有公共變量(By)的數據集?

目前有:

Data.a  Data.b 
    pproc proc1_numb 
    70   9 
    71   15 
    77   24 
    80   80 
    81   42 
    83   71 
    86   66 
    87   125 
    121   159 
    125   242 

想輸出:

pproc freq 
9  1 
15 1 
24 1 
42 1 
66 1 
70 1 
71 2 
77 1 
80 2 
81 1 
83 1 
86 1 
87 1 
121 1 
125 2 
159 1 
242 1 
+0

使用'set'語句。我錯過了什麼嗎? – Jeff

+0

所以,只需要 數據新增 設置一個b; ? – Jebediah15

+0

BellevueBob說什麼。 – Jeff

回答

0

如果我正確地理解你的問題,你應該只在兩個數據集連接成一個,並重新命名變量。然後你可以使用PROC MEANS來獲取頻率。類似這樣的:

data all; 
    set a 
     b(rename=(proc1_numb=pproc)); 
run; 

proc means nway data=all noprint; 
    class pproc; 
    output out=want(drop=_type_ rename=(_freq_=freq)); 
run; 
+0

感謝@BellevueBob,似乎解決它。我意識到我的原始輸出佈局是不正確的。但是,使用data.a和data.b的標誌創建了不同的頻率計數 - 因爲我真的需要每個數據集的過程X的頻率。再次感謝! – Jebediah15