Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAS-我想计算变量之间的特征_Sas_Counting - Fatal编程技术网

SAS-我想计算变量之间的特征

SAS-我想计算变量之间的特征,sas,counting,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; 现在我想计算一下在变量iz、jh、ch和km中有多少次数值大于零。结果应该是这样的 /* want Name ab gh vz iz jh pq ch km eo lk c

我有一个数据集,其本质如下

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;
现在我想计算一下在变量
iz
jh
ch
km
中有多少次数值大于零。结果应该是这样的

/* 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

下面的代码将所需变量从
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;

下面的代码将所需变量从
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;

非常感谢。很好用,谢谢。效果很好。