有感于:
sas如何生成一个新的变量,表示两个相同变量出现了几次
我有一组数据,tran_id fyear
1 2000
1 2000
2 2001
2 2001
2 2001
......
现在需要计算,同一tran_id和fyear出现了几次,并生成一个新变量,例如:
tran_id fyear n
1 2000 2
1 2000 2
2 2001 3
2 2001 3
2 2001 3
在sas中如何实现?谢谢!
我的解答:
总结:
1、题目要求两个变量同时出现的次数,proc freq(二维交叉表)刚好擅长处理这方面的工作;
2、把proc freq的结果输出为数据集,只需在table 后面加上 out=选项;
3、打开temp1数据集发现,数据集的排布非常规则,便于处理。而在output窗口中输出的是交叉表。
Obs | tran_id | year | COUNT | PERCENT |
1 | 1 | 2000 | 2 | 28.5714 |
2 | 2 | 2001 | 3 | 42.8571 |
3 | 3 | 2002 | 2 | 28.5714 |