楼主: fattyclouds
791 4

求问:不规则变量名 [推广有奖]

  • 0关注
  • 0粉丝

本科生

39%

还不是VIP/贵宾

-

威望
0
论坛币
693 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
586 点
帖子
46
精华
0
在线时间
102 小时
注册时间
2008-5-29
最后登录
2019-4-16

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有数据集sample, 有变量time, ad, ce, wr, 其中ad, ce和wr都是不规则的变量名。我现在如果想做scatter plot的话只能分开写成三段sgplot。有没有什么简单的方法, 可以把ad, ce和wr写成类似array或者定义一个宏变量呢? 这样我只要一个sgplot就可以解决问题了。谢谢!

data sample;
input time ad ce wr;
datalines;
0 1 3 5
1 2 4 3
2 1 2 3
;
run;

title 'ad plot';
proc sgplot data=sample;
scatter x=time y=ad;
run;

title 'ce plot';
proc sgplot data=sample;
scatter x=time y=ce;
run;

title 'wr plot';
proc sgplot data=sample;
scatter x=time y=wr;
run;

二维码

扫码加我 拉你入群

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

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

关键词:不规则 Scatter Sample sgplot gplot title

回帖推荐

jl60156 发表于4楼  查看完整内容

proc contents data=sample out=vars noprint; run; data _null_; set vars; if lowcase(name) ne 'time' then rc=dosubl('title "'||strip(name)||' plot"; proc sgplot data=sample; scatter x=time y='||name||'; run;'); run;

sushe1527 发表于2楼  查看完整内容

沙发
sushe1527 发表于 2015-3-3 23:16:21 |只看作者 |坛友微信交流群
  1. data sample;
  2. input time ad ce wr;
  3. datalines;
  4. 1 1 3 5
  5. 2 2 4 3
  6. 3 1 2 3
  7. ;
  8. run;

  9. %macro test;
  10. proc contents data=sample(drop=time)
  11. out=vars(keep=varnum name)
  12.      noprint;
  13. run;   
  14. proc sql noprint;
  15. select count(*) into: count from vars;quit;
  16. data _null_;                              
  17. set vars;                                 
  18. call symput ('n',_n_);                    
  19. call symput (compress('name'||_n_),name);
  20. run;  
  21. %do i=1  %to &count;
  22. title "&&&name&i. plot";
  23. proc sgplot data=sample;
  24. scatter x=time y=&&name&i.;
  25. run;
  26. %end;
  27. %mend;
  28. %test;
复制代码
已有 2 人评分经验 论坛币 收起 理由
李会超 + 40 精彩帖子
admin_kefu + 100 热心帮助其他会员

总评分: 经验 + 40  论坛币 + 100   查看全部评分

使用道具

藤椅
fattyclouds 发表于 2015-3-3 23:25:29 |只看作者 |坛友微信交流群
sushe1527 发表于 2015-3-3 23:16
谢谢!

使用道具

板凳
jl60156 发表于 2015-3-4 03:09:20 |只看作者 |坛友微信交流群
fattyclouds 发表于 2015-3-3 23:25
谢谢!
proc contents data=sample
out=vars noprint;
run;
data _null_;
        set vars;
        if lowcase(name) ne 'time' then rc=dosubl('title "'||strip(name)||' plot";
proc sgplot data=sample;
scatter x=time y='||name||';
run;');
run;

使用道具

报纸
fattyclouds 发表于 2015-3-10 06:33:55 |只看作者 |坛友微信交流群
jl60156 发表于 2015-3-4 03:09
proc contents data=sample
out=vars noprint;
run;
谢谢!

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 21:50