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 



반응형

+ Recent posts