我在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
我想按如下方式对表进行总结:对于每个Band,我想要计算Y和N值的数量,并将表转置(可选)。
因此,左下方将包含每个波段,并且顶部将是Y计数和N计数。或者乐队可以跨越顶部,我不介意。
答案 0 :(得分:1)
数组处理是获取摘要计数的一种(多种)方法。
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;
同样的&#39;想要&#39;数据可以从其他使用
的技术中获得