全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5690 8
2011-05-25
悬赏 100 个论坛币 已解决
请求用一个SAS程序,将如下数据转换,请将
0.114398422      0.061442565          0.136684303       0.070736434         0.5371      
0.134312697      0.061240935         0.145991561       0.084145261       0.4560         
0.111208406      0.069513406        0.152528548       0.06557377        0.6251              
0.108678021      0.072131148         0.168124393       0.081447964      0.6637            
0.12250996      0.079646018         0.135319149       0.078598485            0.6501      
0.109475621      0.066439523        0.130081301       0.064784053      0.6069           
0.112173913      0.061032864         0.105472637       0.063                    0.5441        
0.114604462      0.061707523          0.130581297       0.061120543      0.5384         
0.097050428      0.07748184           0.140449438       0.080779944      0.7984        
0.110833333      0.076923077       0.14159292          0.068124474       0.6940        
  0.121513944      0.081578947        0.16080402         0.081781377        0.6714         
0.117132867      0.079510703        0.130708661         0.069291339        0.6788        
0.097418818      0.071884984       0.141322314           0.084577114      0.7379            
0.112688554      0.079207921         0.133709981       0.08805668         0.7029         
0.090756303      0.084139265          0.11847233         0.0795053           0.9271         
0.122857143      0.076721883        0.137288136       0.084830339       0.6245           
0.113777778      0.074111675       0.1621881            0.06899811          0.6514     
0.110769231      0.078753076         0.132075472         0.078465562       0.7110   
0.079526227      0.084409136          0.141969831         0.068391867       1.0614      
0.104807692      0.071246819         0.140062598        0.076858108       0.6798      
转换为


0.114398422        1        0.061442565            2           0.136684303              3            0.070736434           4             0.5371             5              
0.134312697      1       0.061240935             2            0.145991561            3                0.084145261             4        0.4560                  5           
0.111208406      1          0.069513406           2           0.152528548             3              0.0655737                4            0.6251              5           
0.108678021      1       0.072131148             2            0.168124393              3            0.081447964            4            0.6637              5           
   0.12250996        1         0.079646018              2           0.135319149           3             0.078598485            4             0.6501               5            
0.109475621       1      0.066439523              2            0.130081301             3                0.064784053         4             0.6069              5              
0.112173913      1        0.061032864             2            0.105472637              3               0.063                        4        0.5441                5            
0.097050428      1         0.07748184             2            0.140449438              3             0.080779944             4             0.7984              5            
0.110833333       1        0.076923077           2            0.14159292              3              0.081781377             4             0.6714              5        
0.117132867      1         0.079510703           2            0.130708661             3            0.069291339             4              0.6788                5            
0.097418818      1       0.071884984              2           0.141322314             3           0.084577114            4              0.7029                5                 
0.090756303      1      0.084139265            2            0.11847233                 3             0.0795053                4             0.9271                5         
0.122857143       1     0.076721883            2           0.137288136              3                  0.084830339           4          0.6514                5            
0.110769231     1        0.078753076          2           0.132075472             3               0.078465562              4           0.7110                5            
0.079526227      1         0.084409136        2          0.141969831               3                 0.068391867            4               1.0614             5            
0.104807692      1        0.071246819           2         0.140062598              3              0.076858108            4               0.6798              5            

即在每个数据后加一个序列号,相同列的序列号相同,当然数列要摆整齐,因为太多了,所以我没摆整齐!谢谢高手指点!

最佳答案

456852 查看完整内容

data a; input a b c d e; cards; 0.114398422 0.061442565 0.136684303 0.070736434 0.5371 0.134312697 0.061240935 0.145991561 0.084145261 0.4560 0.111208406 0.069513406 0.152528548 0.06557377 0.6251 0.108678021 0.072131148 0.168124393 0.081447964 0.6637 ...
二维码

扫码加我 拉你入群

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

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

全部回复
2011-5-25 03:31:02
data a;
input a b c d e;
cards;
0.114398422      0.061442565          0.136684303       0.070736434       0.5371      
0.134312697      0.061240935         0.145991561       0.084145261       0.4560         
0.111208406      0.069513406        0.152528548       0.06557377        0.6251              
0.108678021      0.072131148         0.168124393       0.081447964      0.6637            
0.12250996       0.079646018         0.135319149       0.078598485       0.6501      
0.109475621      0.066439523        0.130081301       0.064784053      0.6069           
0.112173913      0.061032864         0.105472637       0.063            0.5441        
0.114604462      0.061707523          0.130581297       0.061120543      0.5384         
0.097050428      0.07748184           0.140449438       0.080779944      0.7984        
0.110833333      0.076923077       0.14159292          0.068124474       0.6940        
0.121513944      0.081578947        0.16080402         0.081781377        0.6714         
0.117132867      0.079510703        0.130708661         0.069291339        0.6788        
0.097418818      0.071884984       0.141322314           0.084577114      0.7379            
0.112688554      0.079207921         0.133709981       0.08805668         0.7029         
0.090756303      0.084139265          0.11847233         0.0795053        0.9271         
0.122857143      0.076721883        0.137288136       0.084830339       0.6245           
0.113777778      0.074111675       0.1621881            0.06899811       0.6514     
0.110769231      0.078753076         0.132075472         0.078465562      0.7110   
0.079526227      0.084409136          0.141969831         0.068391867     1.0614      
0.104807692      0.071246819         0.140062598        0.076858108       0.6798      
;
proc sql noprint;
select name into:n1-:n5 from sashelp.vcolumn where libname="WORK" and memname="A";
quit;
proc sql noprint;
select varnum into:o1-:o5 from sashelp.vcolumn where libname="WORK" and memname="A";
quit;
%macro t();
data b;
set a;
%do i=1 %to 5;
n&&n&i=left(trim(cat(trim(&&n&i)," &&o&i")));
drop &&n&i;
rename n&&n&i=&&n&i;
%end;
run;
%mend;
%t();
二维码

扫码加我 拉你入群

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

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

2011-5-25 11:16:21
用前面那个兄弟的数据, 如果你是想新建5个序列的变量的话, 那么很简单

proc sql;
create table new as
select a, 1 as id_1,b,2 as id_2,c,3 as id_3,d,4 as id_4,e,5 as id_5
from a;
quit;
二维码

扫码加我 拉你入群

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

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

2011-5-25 12:01:19
复制代码
需要输出,把注释去掉
偷工减料版,希望对楼主有帮助
二维码

扫码加我 拉你入群

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

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

2011-5-25 18:18:16
请问456852,你的程序可满足我的要求,我把你的程序设为最佳答案!我有一个问题请教你:可否把你编写的程序结果输出到指定的程序,做为数据用,当然,要把最前面的序列号删除掉!如把结果输到如下程序中做为数据;
data aa;
input  x   c@@;
cards;

;
run;
谢谢指点!!
二维码

扫码加我 拉你入群

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

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

2011-5-25 18:22:38
请问四楼为什么你的程序运行后出现如下错误提醒:谢谢指点!
609  data a;
610  input a b c d e;
611  cards;

NOTE: The data set WORK.A has 20 observations and 5 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds


632  ;
633  run;
634
635  data _null_;
636
637          set _1;
ERROR: File WORK._1.DATA does not exist.
638
639  /*        file "e:\1.txt";*/
640
641          array xx _all_;
WARNING: Defining an array with zero elements.
642
643          do i=1 to dim(xx)-1;
644
645                  put xx best12. +1 i @@;
646
647          end;
648
649          d=dim(xx);
650
651          put xx[dim(xx)] best12. +1 d;
652
653  run;

NOTE: The SAS System stopped processing this step because of errors.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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