统计SAS中不同字段的数量
我在SAS(使用WPS Workbench)中有一个如下所示的表统计SAS中不同字段的数量,sas,summary,Sas,Summary,我在SAS(使用WPS Workbench)中有一个如下所示的表 ID Band_1 Band_2 Band_2 ... Band_160 1 Y Y N Y 2 N N N N 3 Y N N Y 4 N Y Y Y .. 200 Y N N Y 我想将该表总结如
ID Band_1 Band_2 Band_2 ... Band_160
1 Y Y N Y
2 N N N N
3 Y N N Y
4 N Y Y Y
..
200 Y N N Y
我想将该表总结如下:对于每个波段,我需要一个Y和N值的计数,并将该表转置(可选)
因此,左下由每个带组成,顶部是Y计数和N计数。或者,我不介意带在顶部。数组处理是获取汇总计数的几种方法之一
data have;
do id = 1 to 200;
array band(160) $1;
do _n_ = 1 to dim(band);
band(_n_) = substr('YN', 1+(ranuni(123)<0.4));
end;
output;
end;
run;
data want1(keep=column yes_n no_n);
set have end=last;
array band(160);
array Yes(160) _temporary_ (160*0);
array No(160) _temporary_ (160*0);
* accumulate counts;
do _n_ = 1 to dim(band);
if band(_n_) = 'Y' then Yes(_n_)+1; else
if band(_n_) = 'N' then No(_n_)+1;
end;
* emit counts;
if last then
do _n_ = 1 to dim(band);
column = vname(band(_n_));
yes_n = Yes(_n_);
no_n = No(_n_);
output;
end;
run;
数据已经存在;
do id=1至200;
阵列波段(160)$1;
do _n_=1至变暗(波段);
频带(_n_)=substr('YN',1+)(拉努尼(123)