读取和减半sas数据集

时间:2017-07-26 03:19:38

标签: sas

我必须从文本文件中读取50个数字的数据集。它与空格分隔符和多条不均匀的行连续排列。例如:

1 2 3 4 5 6

7 8 9 10 11 12

13 14 15 

16 17 18 19 20 21

前25个数字属于第1组,第2个25属于第2组。所以我需要创建一个组变量(二进制1或2),计数(1到25)和值变量它持有数字的值。

我坚持在阅读时将数据分成两半。我试图使用trunco​​ver但它没有用。

1 个答案:

答案 0 :(得分:1)

尝试类似这样的操作,将datalines关键字替换为文件路径:

data groups;
  infile datalines;
  format number 8. counter 2. group 1.; * Not mandatory, used here to order variables;
  retain group (1);
  input number @@;
  counter + 1;
  if counter = 26 then do;
    group = 2;
    counter = 1;
  end;
  datalines;
192 105 435 448 160 499 184 246 388 190 316 
139 146 147 192 231 449 101 216 342 399 352 122 418
280 400 187 352 321 180 425 500 320 179 105 
232 105 323 132 106 255 449 
186 135 472 174 119 255
308 350
run;