大佬教程收集整理的这篇文章主要介绍了SAS:变量计数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想计算数据集的各个部分。
这是我的数据集:
YEAR ㅣ FIRMCode ㅣ FIRmname
2000 ㅣ 10 ㅣ 1
2001 ㅣ 11 ㅣ 1
.
.
2020 ㅣ 17 ㅣ 1
2000 ㅣ 11 ㅣ 2
.
.
2020 ㅣ 16 ㅣ 2
我想计算每年的公司代码类型的数量,而不考虑公司名称。公司代码从 10 到 20。所以我的输出看起来像:
YEAR ㅣ FIRMCode(10) ㅣ FIRMCode(11) ... ㅣ FIRMCode(20)
2000 ㅣ #firms with code10 ㅣ #firms with code11
.
.
2020 ㅣ #firms with code10 ㅣ #firms(11)
在此先感谢您。
一种方法是使用 SQL 计算组内的 count (disTinct FIRmname)
,然后使用 Proc REPORT
或 Proc TABULATE
将不同计数显示为列。
您的数据似乎无法模拟一家公司在一年内可以拥有多个代码的场景;如果是这样,则不需要 disTinct
。
示例:
计算一年内有代码的公司数量,保持分类数据结构。在广泛的布局演示中展示计数。另外,展示一个从二级类别到宽数据集的数据转换(一般不推荐)
data have;
call streaminit (20210425);
do firmname = 'a','b','c','d';
do year = 2000 to 2010;
code = 10 + rand('Integer',5);
output;
end;
end;
run;
proc sql;
create table counts as
SELEct year,code,count(disTinct firmname) as firm_ucount
from have
group by year,code
order by year,code;
proc tabulate data=counts;
class year code;
var firm_ucount;
table year,code * firm_ucount='' * mean='' * f=4.;
run;
proc report data=counts;
columns year firm_ucount,code;
define year / group;
define code / '' across;
define firm_ucount / '#firms with code';
run;
proc transpose data=counts out=want prefix=n_code_;
by year;
id code;
var firm_ucount;
run;
TABULATE
,列维计数类
REPORT
,计数变量 ACROSS
TRANSPOSE
,作为列名一部分的代码
以上是大佬教程为你收集整理的SAS:变量计数全部内容,希望文章能够帮你解决SAS:变量计数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。