全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5375 7
2014-01-26
悬赏 50 个论坛币 已解决
复制代码
如何将变量的label作为第一行,如果没有label则以变量名代替。希望得到的数据集为:
x z sex
a b m
d e f
保持变量的顺序不变。
谢谢!

最佳答案

pobel 查看完整内容

data bbb; if 0 then set aaa; array tmp $ _ALL_; if _N_=1 then do; do i=1 to dim(tmp); tmp(i)=vlabel(tmp(i)); end; output; end; set aaa; output; drop i; run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-1-26 11:26:27
data bbb;
   if 0 then set aaa;
   array tmp $ _ALL_;
   if _N_=1 then do;
     do i=1 to dim(tmp);
        tmp(i)=vlabel(tmp(i));
         end;
         output;
   end;
   set aaa;
   output;
   drop i;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-1-28 10:06:37
pobel 发表于 2014-1-26 11:26
data bbb;
   if 0 then set aaa;
   array tmp $ _ALL_;
pebel 大师,想跟您请教一下”if 0 then set aaa"这个语句,因为默认值应该是1,所以if 0,这样就得到false,所以应该不会执行后面的set aaa语句,那这句的意义在哪里呢?还望赐教


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-1-28 20:21:44
tangliang0905 发表于 2014-1-28 10:06
pebel 大师,想跟您请教一下”if 0 then set aaa"这个语句,因为默认值应该是1,所以if 0,这样就得到fal ...
这个问题我也不曾理解,

其用途只知道是在data步之前用set的数据集所有变量属性进行铺垫。

我的个人理解是:if 0,说明后面的语句在数据执行阶段被否定不执行;而这句语句仅仅是在data步编译阶段进行了属性预读。

大概是这样。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-16 13:00:46
pobel 发表于 2014-1-26 11:26
data bbb;
   if 0 then set aaa;
   array tmp $ _ALL_;
复制代码
针对这个数据集呢?问题就是如果变量label长度大于变量本身长度,如何更好的实现呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-16 13:42:23
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群