输入语句中的“/”是什么意思?

时间:2015-02-09 01:14:28

标签: sas

sas代码是

data coat;   
    input category high1-high3 / low1-low3;   
    array compare{2,3} high1-high3 low1-low3;   
    do i=1 to 2;   
       do j=1 to 3;   
          compare{i,j}=round(compare{i,j}*1.12);   
       end;   
    end;   

run;

在声明input category high1-high3 / low1-low3;中,我不知道斜杠/的含义。这是否意味着列为high1-high3且行为low1-low3?

2 个答案:

答案 0 :(得分:3)

是的,/将指针移动到您正在阅读的文件的下一行。但是,你的代码片段没有意义。如果没有inputdatalines声明,我们没有理由使用infile语句。

请参阅下文,了解您的input语句如何读取原始数据的示例:

data coat;
  input category high1-high3 / low1-low3;
  datalines;
1  2  3  4
5  6  7
8  9  10 11
12 13 14
;
run;

SAS将第一行读入前四个变量,将第二行读入后三个变量。最终结果是一个包含2行和7个变量的数据集。

答案 1 :(得分:2)

/使用输入语句将指针移动到输入平面文件的下一行。当您的输入数据出现在两条或更多条线上并且您想要从中创建单个观察时,可以使用此方法。

示例:

data out;
input StudentID $ Name $ / Age Gender $;
datalines;
S100 John
24 M
S101 Michelle
25 F
;
run;

输出数据集:

StudentID  Name        Age  Gender
     S100  John         24      M
     S101  Michelle     25      F