SAS Base, A00-211 Crambible
SAS 베이스 자격증
QUESTION NO: 37
Given the raw data file YEARAMT:
----|---10---|---20---|----30
year quantity
1901 2
1905 1
1910 6
1925 .
1941 1
The following SAS program is submitted:
data coins;
infile 'yearamt';
input year quantity;
<insert statement(s) here>
run;
Which statement(s) completed the program and produced a non-missing value for the variable
TOTQUANTITY in the final observation of the output data set?
A. totquantity + quantity;
B. totquantity = sum(totquantity + quantity);
C. retaintotquantity; totquantity = totquantity + quantity;
D. retain totquantity0;totquantity = totquantity + quantity;
'yearamt'라는 raw 데이터를 가지고 coins 데이터를 만드려고 하는데요. 이때 year 와 quantity의 변수를 갖도록 하려고 합니다. 질문은, TOTQUANTITY의 마지막 observation이 missing value가 되지 않으려면 어떻게 해야할까요..란 질문입니다.
A : totquantity + quantity;
- totquantity라는 변수가 그전에 정의되지 않았기때문에 새롭게 만들고 missing value로 지정이 됩니다. 그리고 이렇게 statement로 두개의 변수끼리 +로 이뤄지면, quantity를 추가적으로 누적하게 됩니다.
B: totquantity = sum(totquantity + quantity);
- sum 의 함수 모습은 sum(a,b) 의 형태로 되어야합니다. 참고로 sum(a,b) 경우 missing value를 무시해서 계산되어집니다. totquantigy는 그 전에 값이 지정되어있지 않아서 missing value로 지정이 되었고요. totquantigy + quantigy 경우 operator로 의한 연산이 됩니다. 그래서 결과는 missing value가 되겠죠. sum (missing value)는 결국 전체가 missing valuer가 됩니다.
C : retain totquantity;
totquantity = totquantity + quantity;
- 이때 retain에서 totquantity의 값을 missing value로 할당했습니다. 그 후 + 에 대한 연산이 missing value를 처리할 수 없어 결과물은 결국 missing value가 됩니다.
D : retain totquantity 0;
totquantity = totquantity + quantity;
- totquantity값을 0 으로 지정하였고요. 하지만 quantity에 missing value가 있기때문에 연산처리를 할 수 없어서 답이 아니게 됩니다. 그러니까 2, 3, 9 이런식으로 계산되다가 quantity 중간에 missing value가 들어있어서 결국 마지막 observation은 missing value가 됩니다.
Answer: A
'SAS > Base Programmer' 카테고리의 다른 글
[A00-211, Crambible] SAS Q39 - proc format (0) | 2017.05.26 |
---|---|
[A00-211, Crambible] SAS Q38 - sort 26번 참고 (0) | 2017.05.26 |
[A00-211, Crambible] SAS Q36 - format (0) | 2017.05.26 |
[A00-211, Crambible] SAS Q35 - proc freq에서 option 문제 (0) | 2017.05.26 |
[A00-211, Crambible] SAS Q34 - format / length (0) | 2017.05.26 |