전체 글 132

Crambible / sas 문제 72

1. 코드해석 The SAS data set named WORK.SALARY contains 10 observations for each department, and iscurrently ordered by Department. The following SAS program is submitted: WORK.SALARY는 각 부서(department)별로 10개의 관찰치를 가지고 있는데, 부서들은 정렬이 되어있다. data WORK.TOTAL;set WORK.SALARY(keep=Department MonthlyWageRate);/* WORK.SALARY에서 Department와 MonthlyWageRate 변수를 가져온다 */by Department;/* Department에 대하여 오름차순 정렬한다 ..

SAS BASE 2016.02.11

Crambible / sas 문제 71

1. first obs, obs PROC 스텝에서 FIRST OBS와 OBS는 관찰치를 제한해 준다. FIRSTOBS = 숫자의 경우 숫자 번째 관찰치에서 시작하라는 의미이고 OBS = 숫자의 경우 숫자 번째 까지 관찰치를 가져오라는 의미이다. 이경우 5번 째부터 15번 째까지 관찰치를 가져오라고 했으므로 15-5+1 즉 11개가 될 것인데, 답 D에서 fewer가 나오는 이유는 기존 Sex 변수에서 'M'의 값이 15개보다 적을 수 있기 때문이다.

SAS BASE 2016.02.11

Crambible / sas 문제 69

1. SET,BY, 에서의 FIRST, LAST FIRST와 LAST 변수는 SET에서 BY로 정렬해주었을 때 자동적으로 생기는 임시변수이다.(PDV상에서만 존재) 코드를 해석해보면 따로 PDV를 그리지 않아도 되는 것을 알 수 있다. if first.department이면 payroll = 0; 으로 지정하고wagerate와 합쳐준다. 그리고 last.department인 경우만 보여준다. 즉 last.department의 값이 1인 경우에만 보여주라는 얘긴다. 문제에서 department는 100개의 관찰치를 가졌지만 부서별로 5개씩의 관찰치를 가졌다고 하고 있으므로 last.department는 5개가 나온다. 따라서 답은 A.

SAS BASE 2016.02.11

Crambible / sas 문제 68

1. raw data file 만들 때의 변수와 관찰치 (PUT) 이 문제에서는 put name $15. @5 age2.; ** @는 들어갈 위치를 지정해주는 역할을 한다. 풀어보면문자형 변수 name을 15자리까지 할당 하고,age를 5번 째 자리부터 2자리 읽어라. 여기에서 SAS는 name변수를 위해 문자형변수로 15자리까지 할당해주었으나뒤의 @5 때문에 age를 덮어버리게 된다. 따라서 Alfr14과 같은 형태가 나오게 된다. 답은 B.

SAS BASE 2016.02.11

Crambible / sas 문제 65

0. 문제 풀이 세 개의 변수들 prefix, middle, end를 - 기호로 연결해주기를 원하고 있다.**middle 변수에서 '6465 '에 공백이 있다는 것을 알아야 한다. 1. 문자열 결합의 종류 (CAT, CATX, !!) 1) CAT 보기 A 에서의 CAT은 연결을 그대로 한다. 이 경우 결과는 -5056465 09090 2)CATX 보기 B에서의 CATX는 공백은 없애주고, 첫 번째는 연결 구분자. 이 경우 결과는 505-6465-09090 3) !! 그냥 합쳐주는 기능이다. C. 이 경우에는 middle " 이 qutation unbalanced 하다. D. 이 경우에 trim기능 (공백 제거기능)이 없기 때문에 결과는 505-6465 -09090 따라서 답은 B.

SAS BASE 2016.02.11

Crambible / sas 문제 63

1. SET, BY 후의 FRIST SET에서 BY로 ordering 할 경우에 FIRST와 LAST라는 임시 변수가 생기게 된다.이 두 변수는 PDV상에만 생기며 OUTPUT에는 나타나지 않는다. 2. PDV ** LAST.Y와 FISRT.Z , LAST,Z 생략xy z first x last x first y 1 A 27 1 0 1 1 A 33 0 0 0 1 B 45 0 1 1 2 A 52 1 0 1 2 B 69 0 1 1 3 B 70 1 1 1 4 A 82 1 0 1 4 C 91 0 1 1 FIRST Y는 X내에서 처음으로 나온 관찰 값일 경우 1을 갖는다. (아닐 경우 0)따라서 답은 A.

SAS BASE 2016.02.11