在SAS阅读Row

时间:2010-09-15 23:00:01

标签: sas

如何在SAS中一次读取一行数据文件? 说,我有3行数据

1.0 3.0 5.6 7.8
2.3 4.9
3.2 5.3 6.8 7.5 3.9 4.1

我必须读取不同变量中的每一行。我希望数据看起来像。

A 1.0
A 3.0
A 5.6
A 7.8
B 2.3
B 4.9
C 3.2
C 5.3
C 6.8
C 7.5
C 3.9
C 4.1

我尝试了很多东西。 如果它在每个数据点之前都有一个变量名,则以下代码可以正常工作

INPUT group $ x @@;

我无法弄清楚如何解决这个问题。有人可以指导我吗? 感谢

1 个答案:

答案 0 :(得分:4)

我认为这几乎可以产生你想要的结果。您可以将格式应用于Group变量。

data orig;
    infile datalines missover pad;
    format Group 4. Value 4.1;
    Group = _n_;
    do until (Value eq .);
        input value @;
        if value ne . then output;
        else return;
    end;
datalines;
1.0 3.0 5.6 7.8
2.3 4.9
3.2 5.3 6.8 7.5 3.9 4.1
run;

proc print; run;
/*
Obs    Group    Value

  1       1      1.0
  2       1      3.0
  3       1      5.6
  4       1      7.8
  5       2      2.3
  6       2      4.9
  7       3      3.2
  8       3      5.3
  9       3      6.8
 10       3      7.5
 11       3      3.9
 12       3      4.1    */