请选择 进入手机版 | 继续访问电脑版
楼主: 乾坤神龙
3584 6

关于变量顺序的改变 [推广有奖]

  • 8关注
  • 1粉丝

硕士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
4 点
热心指数
9 点
信用等级
5 点
经验
2341 点
帖子
78
精华
0
在线时间
196 小时
注册时间
2010-6-2
最后登录
2023-9-6

乾坤神龙 发表于 2012-5-14 15:18:41 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
麻烦向大家咨询一个在实际操作中经常会遇到的问题;

例如我有一个数据集a,里面有1000个变量,假设变量ID依次是var1,var2,var3.............var1000;

现在我需要在var700和var701之间插入一个变量newvar1;

我知道使用retain,但是SAS中对于一次处理的变量个数有限制,只能先拆成几个小的数据集,之后再merge,想问一下有没有

什么其他好的办法能够一步到位的解决问题??

谢谢!!
二维码

扫码加我 拉你入群

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

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

关键词:RETAIN Merge 解决问题 变量个数 实际操作

jundal 发表于 2012-5-14 16:37:45 |显示全部楼层 |坛友微信交流群

data b;
set a(keep=Var1 -Var700);
retain newvar1 1;
set a(keep=Var701 - Var1000);
run;

不知道我有没有理解对,你试试看有没有解决你的问题。

使用道具

乾坤神龙 发表于 2012-5-14 17:17:55 |显示全部楼层 |坛友微信交流群
jundal 发表于 2012-5-14 16:37
data b;
set a(keep=Var1 -Var700);
retain newvar1 1;
感谢感谢!看代码比较好,明天实验一下,谢了!!

使用道具

乾坤神龙 发表于 2012-5-15 09:40:11 |显示全部楼层 |坛友微信交流群
jundal 发表于 2012-5-14 16:37
data b;
set a(keep=Var1 -Var700);
retain newvar1 1;
这位老大,感谢您的想法,我觉得使用merge,例如:
merge a(keep=var1--var4) a(keep=var1 var11) a(keep=var1 var5--var10);
可能更保险!!

使用道具

bobguy 发表于 2012-5-16 07:21:41 |显示全部楼层 |坛友微信交流群
乾坤神龙 发表于 2012-5-14 17:17
感谢感谢!看代码比较好,明天实验一下,谢了!!
data b;
retain Var1 -Var700 NEWVAR Var701 - Var1000;
set a;
run;

使用道具

乾坤神龙 发表于 2012-5-16 10:28:07 |显示全部楼层 |坛友微信交流群
bobguy 发表于 2012-5-16 07:21
data b;
retain Var1 -Var700 NEWVAR Var701 - Var1000;
set a;
感谢您,通过上面的启发,想法已经完全打开,谢谢!!

使用道具

fidodidocw 发表于 2016-1-12 15:14:52 |显示全部楼层 |坛友微信交流群
乾坤神龙 发表于 2012-5-16 10:28
感谢您,通过上面的启发,想法已经完全打开,谢谢!!
如果变量是不同的名称怎么办,比如a1,b1,c1,a2,b3等。这样retain后面要写N多个变量,有没有好的方法?

使用道具

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

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

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

GMT+8, 2024-4-18 10:44