全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3154 2
2011-07-01
悬赏 100 个论坛币 已解决
大家好,
有个数据集有12个变量var1-var10,其中3个为一组,一共4组。

       (var1 var2 var3 )(var4 var5 var6 )(var7 var8 var9 )(var10 var11 var12)

现在想新建立一些变量new1-new8和var变量相对应,分为4组,2个为一组
关系为:


new1=var2-var1      
new2=var3-var1


new3=var5-var4
new4=var6-var4


new5=var8-var7
new6=var9-var7


new7=var11-var10
new8=var12-var10

请问不采用一个一个输入,有何技巧可以实现?(实际上一共有100多变量,为了方便,简写为12个)
多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-1 07:51:02
复制代码
二维码

扫码加我 拉你入群

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

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

2011-7-1 08:10:25
可以用数组。


data test;
   input var1-var12;
   array var{12} var1-var12;
   array newvar{8} newvar1-newvar8;

   do i=1 to dim(var)/3;
      base=(i-1)*3+1;
      newvar(i*2-1)=var(base+1)-var(base);
      newvar(i*2)=var(base+2)-var(base);
   end;
   drop i base;
   cards;
1 2 3 4 4 2 1 2 4 2 4 9
2 3 4 1 3 4 9 2 4 1 8 5
;
run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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