SAS变量的输入格式

2.1 SAS变量的输入格式

  • 输入格式的基本形式:

变量1 输入格式1 变量2 输入格式2 ......

而在SAS中的变量只有两种类型:字符型(character)和数值型(numeric)(日期在SAS中只作为数值型),这两种类型变量的输入格式如下:

  • 数值型变量:

数值型变量的输入格式主要是w.d,其中,w表示数值的总位数或宽度(包括小数点),d表示数值的小数部分的位数。NOTE:即使没有小数,点号也一定要加上

但是,绝大多数情况下,数值型变量后面是不加任何输入格式的,尤其是整数时,更不能随便加,例如:

forExample.jpg

其输出结果如下:


result.jpg

首先,SAS先根据设定的总位数读取数据,即12、2.1、15.6和23.4;其次,由于小数位数规定了2位,所以每个数必须有2位小数,所以2.1、15.6和23.4分别变为了2.10、15.60和23.40。而SAS读取整数时,若没有小数点就会自降为小数,因此,12变为了0.12。

  • 字符型变量

字符型变量的输入格式主要是$w. 。其中,$符是必加的,w表示字节数(1个中文占2字节),因为SAS默认对字符只读取8位,一般只有变量宽度超8字节的时候才有必要加。只要加上宽度值,后面必须跟着“.”,若只有$符号,则不用。

  • 日期型变量

日期型变量的输入格式很多,其中w表示日期的宽度,宽度不能超过32。

几种常见的SAS日期格式.jpg

年月日之间可以加分隔符,若加上分隔符,它的宽度也要算进去。如果之间没有任何分隔符,此时SAS要求输入的月和日都要求为2位。

  • 两个特殊输入符 “:”和“&”
  1. 冒号“:”的作用:
  • SAS虽然默认以空格作为变量分割的标志,但是一旦对变量指定了宽度,SAS就会以指定的宽度来识别变量。而在变量和输入格式之间加一个冒号,可以告诉SAS,若要读取下一个变量,需要满足下面任一条件:遇到空格或变量宽度读完

  • 当同一变量的不同数据有不同宽度时,可以指定所有数据中最大或更大的一个值,然后结合冒号读取。

  • 冒号的用法是通用的,不管是数值型还是字符型都可以

  • 格式:

var1: $w.

2、&符号的作用

若变量中有空格,需在变量后加上&符号,举例说明:

forExample.jpg

结果:

result.jpg

Note:

  • &和:可以互换,但它们最好都放在$前面;
  • 若每个变量值本身就有空格,那么变量之间就需要用2个或2个以上的空格隔开,这样SAS就会把这2个或2个以上的空格作为变量分割符

你可能感兴趣的:(SAS变量的输入格式)