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;

最初の入力からは誤った読み取りが行われ、2 番目の入力からは正しい読み取りが行われます。何が起こっているのかを理解しようとしています。私は実際には 3 つよりも多くの変数を持っているので、ショートカット構文を使用できると便利です。

4

1 に答える 1

0

私の同僚は、私がよく知らない構文に精通していました。次の動作は、私の 2 番目の手法の動作と同じです。

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 に答える