SAS Base, A00-211 Crambible

SAS 베이스 자격증 문제풀이  

QUESTION NO: 2


The following GAS program is submitted: 


data work.empsalary;
set work.people (in = inemp) 

work.money(in = insal);

if insal and inemp; 

run;


The SAS data set WORKPEOPLE has 5 observations, and the data set WORKMONEY has 7 observations. How many observations will the data set WORK.EMPSALARY contain?


A. 0 

B. 5 

C. 7 

D. 12



문제에서 workpeople에는 5개의 observations이, workmoney에는 7개의 observations 있는데~ 이 둘을 합쳤을때, if insal 과 inemp 값이 모두 1일때의 observation이 몇개일까~란 질문인데요. 가장 중요한 점은 in=inemp, in=insal 이 뭘 의미하는지, 그래서 if insal=1, 그리고 if inemp=1 일때의 상황을 살펴봐야겠죠. 



두 데이터를 set이라는 명령어로 합치게 될때 임시적인 variables이 생성되는데요. 그러니까 데이타가 어디에서 왔는지 표시하는거라고 생각하면 됩니다. 물론 output에서는 이 variable이 표시되진 않습니다. 


 그러니까 work.people에서 온 데이타는 "inemp"라는 variable에서 1로 표시가 되고, 여기에서 온 데이타가 아니게되면 0이라고 표시됩니다. 반면, work.money라는 데이타에서 오게되면 "insal"이라는 variable 값이 1, 여기에서 온 데이타가 아니게되면 0 이라는 값을 가지게 되는거죠. 


이때, inemp, insal 모두 1을 가지게 된 값은 몇개냐고 물었는데, 이에 해당하는 데이타가 없어서 정답은 A가 되겠습니다. 


Answer: A

반응형

+ Recent posts