proc-tabulate

data boat;
    infile cards;
    input name $ 1-12 port $ move $ type $ price 6.2;   
    cards;
Silent Lady  Maalea  Sail  sch 75.00
America II   Maalea  Sail  yac 32.95
ALoha Anai   Lahaina Sail  cat 62.00
Ocean Spirit Maalea  Power cat 22.00
Anuenue      Maalea  Sail  sch 47.50
Hana Lei     Maalea  Power cat 28.99
Leilani      Maalea  Power yac 19.99
Kalakaua     Maalea  Power cat 29.50
Reef Runner  Lahaina Power yac 29.95
Blue Dolhin  Maalea  Sail  cat 42.95
;
proc tabulate data=boat;
* calss 语句告诉sas哪些变量将数据分成不同部分;
class port move type;
* table 语句可以定义一个表,可以用对歌table语句定义多个表;
* table语句可以在报告中指定三个维度:页、行、列,如果只指定一个维度
  则默认是列维度,如果指定两个,则是行和列;
table port, move,type;

输出两页,行为move,列为type,N表示非缺失值个数



为了方便观察,数据按照move type排序输出

proc sort data=boat;
by move type;
proc print data=boat;
run;

format将price数字格式修改了,注意table语句,页行列,这里只有两个,所以表示move行,Max、price、type都在列中,

proc tabulate data=boat format=DOLLAR9.2;
class move type;
var price;
table move all, max*price*(type all)/BOX='Full Day Excurions' MISSTEXT='none';
    title;
run;

format自定义格式化,修改顶部标语;

proc format;
    value $typ  'cat' = 'catamaran'
                'sch' = 'schonet'
                'yac' = 'yacht';
proc tabulate data=boat format=dollar9.2;
class move type;
var price;
* 使用格式化;
format type $typ.;
* ''可以去除表格顶部变量名,'xxx'可以指定变量名为xxx;
table move all, (type='mean price by type of boat' all)*max=''*price=''
/BOX='Full Day Excurions' MISSTEXT='none';
    title;
run;

使用set在boat中插入一列数据

data length;
    infile cards;
    input length;
    cards;
64
65
60
65
52
110
45
70
50
65
;

* 使用set在boat中插入一列数据;
data newboat;
    set boat;
    set length;
proc print data=newboat;
run;

在table语句中精准格式化输出数字格式

proc tabulate data=newboat;
class move type;
var price;
var length;
format type $typ.;

table move all, max*(price*format=Dollar6.2 length*format=6.0)*(type all);
run;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,190评论 6 98
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,066评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,126评论 1 13
  • 01-常量与变量 学习swift第一步打印Hello World print("Hello World") swi...
    iOS_恒仔阅读 5,300评论 2 19
  • 我基本都是写一些小而美的实用东西(我也写不了太高大上的东西--).今天这个一定可以让头疼这个功能的猿们再也不用害怕...
    EasonDev阅读 2,391评论 2 2