2016-12-01 36 views
0

是否有可能通過proc概要對每列中的每個值乘以一個新的統計量,例如,而不是僅僅意味着什麼? SAS太僵硬,讓我發瘋。proc summary with statistic「multiply」

data test;             
    input b c ;         
    datalines;             
    50 11          
    35 12           
    75 13          
    ; 

希望的輸出將是50 * 35 * 75和11 * 12 * 13,以及_FREQ(如在PROC摘要正常輸出)

+0

爲什麼你需要使用PROC方法?數據步驟是先驗的還是完全可接受的? – Reeza

+0

是的,數據步驟是可以接受的,而不是* proc summary *。我只是認爲應該可以選擇自己的統計信息 – Erosennin

+0

否,proc表示完成一組特定的統計信息,文檔包含列表http://support.sas.com/documentation/cdl/en/proc/69850/HTML /default/viewer.htm#p0v0y1on1hbxukn0zqgsp5ky8hc0.htm – Reeza

回答

1

這是一種罕見的集合體,所以你基本上需要推出你自己。由於數據步驟循環,因此使用RETAIN可以輕鬆實現逐行的值並在最後一條記錄處輸出結果。

Data want; 
    Set have end=eof; 
    Retain prod_b prod_c; 
    prod_b = prod_b * b; 
    prod_c = prod_c * c; 
    Freq= _n_; 
If eof then OUTPUT; 
    Keep prod: freq; 
Run; 
+0

太好了,謝謝! – Erosennin