SAS笔记.docx - 一、VAR 语句 VAR...

This preview shows page 1 - 5 out of 48 pages.

一、 VAR 语句 VAR 语句在很多过程中用来指定分析变量。在 VAR 后面给出变量列表: VAR 变量名 1 变量名 2 … 变量名 n ; 变量名列表可以使用省略的形式,如 X1-X3 MATH--CHINESE 等。 VAR 用法 例如: var math chinese; WHERE 语句 WHERE 语句的格式很简单,只要后面跟用于数据筛选的逻辑表达式即可: WHERE logical-expression(s); 下面的例子基于 test1 数据表生成 test2 数据表,但是只选择满足 sex='F' 并且 age>20 的数据行: data test2; set test1; where sex='F' AND age>20; run; 表面看来, WHERE 语句和数据步骤中的 SAS IF 语句 的功能相近,都是筛选 数据和。实际上 WHERE 语句和 IF 语句的运作机制是不同的。 WHERE 语句 相当于对数据集执行了一个 SQL Select 的操作。也就是说,在进入到操作前 数据已经被整体筛选过了,而 IF 语句是在数据步骤的每个循环中单独执行的,
Image of page 1

Subscribe to view the full document.

WHERE 语句显然效率要提高很多。如果数据表是索引过的,那么 WHERE 句能够更加显著地提高效率。 WHERE 语句也有其限制。因为它是对现存的数据表的整体性操作,故而只能 对该数据表中已有的变量进行筛选操作,不能对数据处理后生成的变量操作, 也不能对 INPUT 语句定义的变量操作。 WHERE 语句不但能用于数据步骤中还能用于过程语句中。 操作符 除了一般的 SAS 操作符(见 SAS 语法 ), WHERE 语句还支持一些特有的操 作符。 between ... and 。比如: where x between 10 and 20; 其实相当于: where 10<=x<=20; contains 。字符串包含。可以用问号代替。比如: where firstname contains 'john'; where firstname ? 'john'; is null is missing 。测试是否空值。比如: where age is null; where age is missing;
Image of page 2
like 。用于字符串匹配。百分号 % 代表多个任意字符,下划线 _ 代表一个任意 字符。比如以下的方式都匹配“ john” where firstname like 'j_h_'; where firstname like 'j%'; same and 。用于合并上一个 WHERE 语句。比如: where age>10; where same and sex='F'; 以上两句相当于一句: where age>10 and sex='F'; min max 。两数中的较小或较大者。比如: where x = (a min b); print 语句 PRINT 过程是最常用的 SAS 过程之一。我们在生成了一个数据集之后,如果不 是太大,一般都用一个 proc print;run; 过程步来列出数据集的内容,这样可以检查变量与值之间对应是否正确,数据 输入是否正确。为了列出一个指定的数据集,在 PROC 语句中使用 DATA =选 项指定要列表的输入数据集名,比如: proc print data=sasuser.gpa; run;
Image of page 3

Subscribe to view the full document.

在过程内使用 VAR 语句可以指定要列出的变量并指定顺序。比如, proc print data=c9501; var name chinese sex; ( 这里的顺序决定输出的结果顺序 ) run; 列出变量 NAME CHINESE SEX 的值。注意这已不是生成时的变量顺序。 变量 MATH 未列出。结果如下 The SAS System 3
Image of page 4
Image of page 5
  • Fall '14

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern