2016-01-12 76 views
0

我有一個數據集,其實質計算特性如下SAS - 我想整個變量

data have; 
input Name $ ab gh vz iz jh pq ch km eo lk; 
datalines; 
adam 7 8 7 0 0 0 0 0 0 0 
bob 0 1 0 3 4 6 0 1 6 0 
clint 0 0 0 5 4 3 1 0 0 2 
; 
run; 

現在我想指望有多少次我有比變量零的數字izjhchkm。結果應該是這樣的

/* want 
Name ab gh vz iz jh pq ch km eo lk count_of_iz_jh_ch_km 
adam 7 8 7 0 2 3 0 0 0 0 1 
bob 0 1 0 3 0 6 0 1 6 0 2 
clint 5 0 0 5 4 3 1 2 0 2 4 
*/ 

我將不勝感激任何幫助,因爲我沒有成功地搜索互聯網尋找解決方案。

Gerit

回答

2

以下的代碼初始化從have所需的變量成稱爲vars陣列,然後針對每行,計數每次這些變量中的一個是> 0

data want; 
    set have; 
    array vars[*] iz jh ch km; 

    count_of_iz_ch_km = 0; 

    do i = 1 to dim(vars); 
     if(vars[i] > 0) then count_of_iz_ch_km+1; 
    end; 

    drop i; 
run; 
+0

謝謝。很好地工作。 – Gerit