SAS中使用format的值 |
您所在的位置:网站首页 › sas定义变量的格式有哪些要求 › SAS中使用format的值 |
如果一个变量a被设定了format,那么我们点开数据集看到的并不是这个变量本身的值,而是format的值。如果我们想用另一个变量b保存下来这个format的值,那么直接b=a是不行的,有两种方式,一种是 b=vvalue(a); b=putc(a,vformat(a));(如果是数值型用putn) 具体例子如下: 第一种 使用vvalue函数:在一个数据集ie中有ieyn这个变量,可以看到这个函数有两个值,Y或N; 我们使用如下语句选择数据,发现是没有任何记录选择出来的。 查看这个变量,发现这个变量定义了输出格式format,所以这个Y或N并不是这个变量真正的值。 我们使用下面这段话将ieyn赋值给a,可以看到a只继承了ieyn的变量类型和长度,并没有继承其输入格式和输出格式,所以Y的真正的值是C49488,而N的值是C49487。 用这个format语句也可以去除ieyn的format格式(同理informat语句可以清除informat格式)。 那么我们想筛选出ieyn为Y的记录可以使用如下两种方法: 一般都是使用vvalue函数的,毕竟我们并没有必要多此一步去查这个变量的真实值。 从这个结果上我们也可以倒推$NYNA1这个format的定义: proc format; value $nyna1 "C49487"="N" "C49488"="Y" ; run; 第二种 使用putc\putn函数:formatted-val=PUTC(char-val,format); formatted-val=PUTN(num-val,format); 需要注意的是:点符号不能与PUTC或PUTN函数一起使用。为了允许正确解析char-val和num-val参数,这个限制是必要的。 有关使用格式返回值的更多信息,请参见SAS函数和CALL例程:参考中的PUT函数。 plpeipde变量的真实的值是a;format是b,保留的format值是c和d |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |