楼主: pinggu2688
3206 2

[原创博文] 求助sas新建变量的问题 [推广有奖]

  • 2关注
  • 0粉丝

博士生

6%

还不是VIP/贵宾

-

威望
0
论坛币
40 个
通用积分
40.2335
学术水平
1 点
热心指数
3 点
信用等级
1 点
经验
3113 点
帖子
166
精华
0
在线时间
103 小时
注册时间
2009-11-12
最后登录
2024-8-28

楼主
pinggu2688 发表于 2011-7-1 07:51:01 |AI写论文
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个)
多谢!
关键词:新建变量 VaR NEW 数据集 何技巧 新建 技巧

本帖被以下文库推荐

沙发
hopewell 发表于 2011-7-1 07:51:02
  1. data test;
  2.     input var1-var12;
  3.     array oldvar{4,3} var1-var12;
  4.     array newvar{4,2:3} newvar1-newvar8;
  5.     do i=1 to dim1(oldvar);
  6.         do j=2 to dim2(oldvar);
  7.             newvar(i,j)=oldvar(i,j)-oldvar(i,1);
  8.         end;
  9.     end;
  10.     drop i j;
  11. cards;
  12. 1 2 3 4 4 2 1 2 4 2 4 9
  13. 2 3 4 1 3 4 9 2 4 1 8 5
  14. ;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
pobel + 1 + 1 + 1 清晰!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

观钓颇逾垂钓趣 种花何问看花谁

藤椅
pobel 在职认证  发表于 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;
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
pinggu2688 + 1 + 1 + 1 我很赞同,谢谢
hopewell + 1 + 1 + 1 我很赞同

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

和谐拯救危机

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

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