SAS BASE Q63. first [수정]
QUESTION NO: 63
Given the SAS data set ONE:
x y z
1 A 27
1 A 33
1 B 45
2 A 52
2 B 59
3 B 70
4 A 82
4 C 91
The following SAS program is submitted:
data two;
set one;
by x y;
if first.y;
run;
proc print data = two noobs;
run;
Which report is produced?
A. X Y Z 1 A 27 1 B 45 2 A 52
2 B 69 3 B 70 4 A 82 4 C 91
B. X Y Z 1 A 33 1 B 45 2 A 52
2 B 69 3 B 70 4 A 82 4 C 91
C. X Y Z 1 B 45 2 A 52 2 B 69
3 B 70 4 A 82 4 C 91
D. The PRINT procedure tails because the data set TWO is not created in the DATA step.
Answer: A
# 문제 수정
- 데이터 부분이 누락되어 있어 추가하였다.
# 문제 풀이
- x에 관해 오름차순 정렬 후, y에 관해서 오름차순 정렬. 현재 데이터 셋은 정렬되어 있는 상태이므로 변동이 없다.
- first.y가 1인 레코드만 출력한다. x를 고려한 후, y를 고려한다.
x y z first.y
1 A 27 1
1 A 33 0
1 B 45 1
2 A 52 1
2 B 69 1
3 B 70 1
4 A 82 1
4 C 91 1
- noobs : 관측값을 표시하지 않는다. 원래는 x 변수 왼쪽에 관측값들의 번호가 매겨진다.