楼主: peter
14154 14

[问答] 请问如何改变一个sas数据集中变量的长度,如何删除观测值? [推广有奖]

11
peter 发表于 2011-4-4 21:33:39
谢谢楼上各位,终于成功了!

12
peter 发表于 2011-4-5 21:00:25
这里在请教大家一下,我发现不要format x $50.;这一项,也能实现改变变量长度的结果。
我用contents过程看到,两者的差别如下:

不要format x $50.的结果
Alphabetic List of Variables and Attributes

                                              #    Variable    Type    Len

                                              1    x           Char     50
                                              2    y           Char     20
                                              3    z           Char     20

要format x $50.的结果
Alphabetic List of Variables and Attributes

                                         #    Variable    Type    Len    Format

                                         1    x           Char     50    $50.
                                         2    y           Char     20
                                         3    z           Char     20
请问变量后面多一个format属性有什么含义啊?


我发现format里面规定的长度可以跟len里面的长度不一样
Alphabetic List of Variables and Attributes

                                         #    Variable    Type    Len    Format

                                         1    x           Char    150    $50.
                                         2    y           Char     20
                                         3    z           Char     20
这是我用了format之后,再用如下命令得到的结果
data peter;
length x $150;
set peter;
run;

13
hehekaixin 发表于 2011-4-7 16:53:19
呵呵,成功就好!
peter多写了个run,少打了个.
length语句控制长度的,所以不用打点,format语句设置输出格式,50.表示总长度50同时没有小数位

14
xiangyu1204 发表于 2012-2-3 14:31:03
peter 发表于 2011-4-4 21:33
谢谢!终于成功了!
能说一下正确的代码吗,超级菜鸟,希望解释下

15
peter 发表于 2012-2-3 17:55:26
xiangyu1204 发表于 2012-2-3 14:31
能说一下正确的代码吗,超级菜鸟,希望解释下
这是好久之前我问的问题了,数据集已经不再了,没法测试
应该是这样的:
data peter;
length x $50;
set peter;
format x $50:;
if _n_=3 then delete;
run;

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 05:39