我想在proc freq
或proc tabulate
或类似我的数据集中创建一个类似下面的表格,其中我有三个变量:andel
(分享),Aar
(年)和Gruppe
(小组)。
在我的数据集中,我有大约50万次观察,其中1次观察代表一个人。
如何创建表格而不必编程通过大量数据集?
我试过了:
proc freq data= data;
Tables Aar*gruppe*andel / nopercent norow nocol nocum ;
run;
和
proc tabulate data= data missing;
class gruppe aar andel ;
Table aar*gruppe*andel , all/ rts=180;
run;
但这一切都不起作用 - 这是因为我希望对每个组andel
和年gruppe
的所有共享(变量aar
)进行求和。而且我不希望每个andel
的总计gruppe
的每年(6个表)都有一个表格。
答案 0 :(得分:1)
Proc Tabulate可能是正确的选择。它具有class
与var
的概念。 Class
是集合事物的东西; var
是(sum,mean等)计算的东西
proc tabulate data= data missing;
class gruppe aar ;
var andel;
Table gruppe,aar*andel*sum/ rts=180;
run;
这样的事情应该是你的出发点。逗号将行与列分隔开;最右边是列,第二个最右边是行,第三个最右边是页面(最左边)。明星结合元素;在这里,这说
创建一个表,其中行是组,列是年,而对于 每年/每组/组合,显示股份总和。
* andel * sum可以在gruppe之后或在aar之后,它在很大程度上无关紧要(有时候它可能有所不同,传统上它放在列变量之后无关紧要,但是在这种情况下,它将是相同的),除了标签的位置,指示分析变量是什么(如果你想要它 - 你可以删除它)。