加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

PROC Tabulate 制表总结(转)

(2014-02-11 10:44:05)
标签:

统计分析

beta数据处理

proc

tabulate

分类: sas编程

                   PROC Tabulate 制表总结

1、 最基本的表格

data boats;

     infile 'c:\users\lichao\desktop\sas\data\boats.dat';

 input Name $12. +1 Port Locomotion Type Price;

 

run;

proc print data=boats;

run;

proc tabulate data=boats;

      class type port locomotion;

      table type,port,locomotion;

run;

(程序绘制的是port为行、locomotion为列的表,表的个数由type的类型数决定)

注意:Tabulateclasstable是必须的,而且table依次表示页数的、行的、列的维度,别忘了table中的逗号。

2、 在表格中加入var

var的变量必须是数值型,不能有字符型,输出为统计的和,不是个数

class的变量可以有数值型和字符型,数值型输出和字符型一样,是个数

             http://s9/mw690/002yzU8dgy6GuZvUBni48&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />


http://s5/mw690/002yzU8dgy6GuZwveFS44&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />
 

 

 

3、三种形式的对比

 table  port  locomotion;

 table  port locomotion;

 table  port locomotion;

(混合型也行,如:table locomotion,price type;  var price)

     

http://s4/mw690/002yzU8dgy6GuZy9CJZ73&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />

http://s4/mw690/002yzU8dgy6GuZyd4vV63&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />

http://s2/mw690/002yzU8dgy6GuZygElX71&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />

     

 

     

第一种形式,三个变量分别统计

第二种形式,第二个变量为行,第三个变量为列做表,表格个数由第一个变量的类型数决定

第三种形式,把第二种形式综合在一张表格中,即第二种形式的综合

 

 http://s9/mw690/002yzU8dgy6GuZG8864d8&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />

4、 table中使用统计量

table后面每个变量都可使用,可选择的有:mean max min sum pctn(百分比)、all

数值型:mean*price

all特例:type all      

5、控制tabulate的输出格式

(1) 最基本的控制

     PROC  tabulate  format=options;(设置输出数据的格式)

            class    ......

            table    box=’   ’ (给左上方空白格加字) misstext=’  ’(没有值的加字) ;

注意:formatboxmisstext的格式

              

http://s1/mw690/002yzU8dgy6GuZKvt60b0&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />

                                  未设定格式之前

                

http://s16/mw690/002yzU8dgy6GuZMoO07ef&690Tabulate 制表总结(转)" TITLE="PROC Tabulate 制表总结(转)" />

                                    设定格式之后

proc tabulate data=boats format=dollar9.2;  所有类型的数据格式都一样,与(4)不同

      class type;

  var price;

  table type price box='Statistics' misstext='none';

run;

(2) 更改输出变量的命名、变量类型的命名

 table   type=’   ’   price=’     ,即可以在table后面直接改或者干脆删除  

 proc format  (以更改type的类型为例)

           value typ(自己命名)  cat=  

                                  sch=  

                                  yac=  ;

     run;     

     .

     .

     .

     format type $typ.;

注意:第一个typ后面没有小数点,而表示替换的时候有;

      替换时只有最后一个有分号,其他的没有。         

程序实例:

proc format;

      value $tidai    'cat'='1'

               'sch'='2'

   'yac'='3';  (只有最后一个后面有分号)

run;

 

proc tabulate data=boats format=dollar9.2;

      class type;

  var price;

  format type $tidai.;(注意tidai后面有个小数点,而之前的没有)

  table type=' price=' box='Statistics' misstext='none';

run;

(3)porc format更改输出格式的总结(不止用于表格中)

     分为数值型和字符型

     proc  format;

           value gender 1=Male  (数值型)

           Value $col w=White (字符型)          

     .

     .

     .

     format  sex gender. color $col.(注意别忘了小数点) 

4)当输出数据格式不同时,即需要给每个数据定义单独的输出格式时,format的使用

   table ... price*format =dollar6.2  length*format=6.0 

注意:与直接在tabulate后面使用的作用域不同

 

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有