我是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
.
.
.
提前致谢。
答案 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_
将对应于此情况下的行号。