SAS - 我想计算变量的特征

时间:2016-01-12 14:10:54

标签: sas counting

我有一个本质如下的数据集

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

1 个答案:

答案 0 :(得分: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;