在sas中按行号选择特定行

时间:2015-03-11 07:07:51

标签: sas

我是SAS新手我有SAS数据(它不包含Obs列)

Obs    ID    Name    Score1    Score2    Score3

1     101               90        95        98
2     203               78        77        75
3     223               88        67        75
4     280               68        87        75
.
.
.
.
100   468               78        77        75

我希望数据的行号为2 6 8 10 34.输出应该是

Obs    ID    Name    Score1    Score2    Score3

1     203               78        77        75
2     227               88        67        75
3     280               68        87        75
.
.
.

提前致谢。

2 个答案:

答案 0 :(得分:6)

另一个答案适用于小型表,但是如果您使用的是非常大的表,那么它会读取表中的每一行以查看它是否具有正确的行号,效率很低。这是一个更直接的方法:

data example;
    do i = 2, 6, 8, 10;
        set sashelp.class point = i;
        output;
    end;
    stop;
run;

这只会选出您真正想要的行,而不会读取所有其他行。

答案 1 :(得分:1)

您可以使用数据步骤循环遍历每一行数据,只有当您处于第n个循环时才会输出这些行,条件是这样。

data test;
    set LIB.TABLE;
    if _N_ in (2, 6, 8, 10, 34) then output;
    run;

其中_N_将对应于此情况下的行号。