楼主: wlfjhh
1395 4

[原创博文] SAS 这样的程序可以实现吗 [推广有奖]

  • 0关注
  • 0粉丝

博士生

11%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
4.5000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
367 点
帖子
61
精华
0
在线时间
372 小时
注册时间
2010-6-12
最后登录
2024-11-11

楼主
wlfjhh 发表于 2011-11-28 16:36:11 |AI写论文
50论坛币
CODE     1997(销售量)  1998(销售量)  1999(销售量)
00001
00002
00003
比如说这个是原始数据  我想转换成以下形式这样 SAS可能实现吗

00001
1997(销售量)
1998(销售量)
1999(销售量)
00002
1997(销售量)
1998(销售量)
1999(销售量)
00003
1997(销售量)
1998(销售量)
1999(销售量)

数据十多万行。手动不可行  而且代码不是总是连续的数字
关键词:code 原始数据 销售量 COD ODE 销售量 程序 而且

本帖被以下文库推荐

沙发
soporaeternus 发表于 2011-11-28 16:36:12
  1. data a;
  2.         input code:$6. y1 y2 y3;
  3.         label y1="2007TEST" y2="2008TE" y3="2009TE";
  4.         datalines;
  5.         000001 1 2 3
  6.         000002 2 3 4
  7.         000003 3 4 5
  8.         ;
  9. run;

  10. data b;
  11.         set a;
  12.         array _y y1-y3;
  13.         do over _y;
  14.                 c=vlabel(_y);
  15.                 v=_y;
  16.                 output;
  17.         end;
  18.         keep code c v;
  19. run;
复制代码
Let them be hard, but never unjust

藤椅
cufejinrong 发表于 2011-11-28 16:47:05
能不能用proc transpose?

板凳
tj0412ymy 发表于 2011-11-28 17:08:37
  1. data sale;
  2. input code $ sale1997 sale1998 sale1999;
  3. cards;
  4. 00001 100 200 300
  5. 00002 110 220 330
  6. 00003 111 222 333
  7. ;
  8. run;

  9. proc transpose data=sale out=final(rename=(_NAME_=Year COL1=Sale));
  10. by code;
  11. var sale1997 sale1998 sale1999;
  12. run;
  13. proc print;run;
复制代码
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

报纸
wlfjhh 发表于 2011-11-29 02:27:07
soporaeternus 发表于 2011-11-28 16:36
如何原表是这样的
CODE     1997(销售量)  1998(销售量)  1997(资产) 1998(资产)
00001
00002
00003

转换成
CODE     
00001     1997(销售量)  1997(资产)
00001   1998(销售量)   1998(资产)
00002
00003

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 08:19