0

这里有几行数据。

q  2016 55 59  580067.12 89453.03 74579.31 63005.34 54211.66
q  2016 60 64  826983.94119020.88 99145.49 85347.23 75223.34
q  2016 65 69 1080400.00139847.91116260.10103226.14 93063.24 
q  2016 70 74 1086917.25120158.78100291.15 91782.05 85081.34

我将它保存在一个名为“junk.txt”的文件中。SAS 代码的后续位在这些行上表现不同。

filename junk "junk.txt";

data temp;
   infile junk ;
   input 
   @1 TYPE $ 2.  
   @4 year 4.
   @9 age1 2.
   @12 age2 2.
   @15 foo 10.2 
   @25 bar 9.2 
   @34 YSD1-YSD3 9.2;   
run;

proc print;

data temp;
   infile junk ;
   input 
   @1 TYPE $ 2.  
   @4 year 4.
   @9 age1 2.
   @12 age2 2.
   @15 foo 10.2 
   @25 bar 9.2 
   @34 YSD1 9.2
   @43 YSD2 9.2
   @52 YSD3 9.2;   
run;

proc print;

我从第一个输入中读取错误,从第二个输入中读取正确。试图弄清楚发生了什么。我实际上有比 3 更多的变量,所以能够使用快捷语法对我很有用。

4

1 回答 1

0

我的一位同事熟悉我不熟悉的语法。以下行为与我的第二种技术的行为相同。

filename junk "junk.txt";

data temp;
   infile junk ;
   input 
   @1 TYPE $ 2.  
   @4 year 4.
   @9 age1 2.
   @12 age2 2.
   @15 foo 10.2 
   @25 bar 9.2 
   @34 (YSD1-YSD3) (9.2);   
run;

proc print;
于 2014-05-13T16:02:23.853 回答