3. 변수의 외부파일 출력
0) 특징
1> dataset에 있는 결과를 다시 ASCII 파일로 출력해야 하는 경우 data step에서 PUT 구문과 FILE 구문을 사용한다.
2> INFILE 구문과 INPUT 구문의 사용법과 동일하다.
1) FILE
1> PUT 구문에 대한 출력물 파일을 지정한다.
ex>
FILE "출력물 파일의 위치";
PUT A1 A2 A3 SUM;
2) PUT
1> 가장 최근 FILE 구문에서 지정된 SAS 로그, SAS 출력윈도우, 또는 외부파일 등에 출력 라인을 작성한다.
2> column 설정한다.
ex>
FILE "출력물 파일의 위치";
PUT A1 A2 A3 SUM;
3> PUT 구문에 변수를 개별 지정하지 않고 _ALL_ 과 같은 변수열(VARIABLE LIST) 형태로 지정할 수도 있으나, 이 경우에는 ASCII 파일에 'VARIABLE_NAME='과 같이 각 관찰치에 대한 변수의 이름도 함께 출력이 됨에 유의하자.
왜 오류가 나는거지???
참고 : http://mysas.co.kr/SAS_tiptech/a_question.asp?B_NO=7571&gotopage=5&cmd=content
4. 변수의 SAS dataset 출력 (OUTPUT)
0) 2가지 용도
1> 반복문에서 최종값만이 SAS data에 지정되는 현상 막기 위해
2> 특정 조건을 만족하는 dataset 생성(출력된 기술통계량을 변수로 바꿔서 사용하고 싶을 때)
1) 반복구문에 의한 변수의 생성
1> do 구문
- C와 유사
- DO에 의해 반복문을 진행하고
- END까지가 하나의 반복문이다. (DO와 END는 짝을 이룬다.)
2> 예제 코드
- DO I=0 TO 10 BY 2 : i라는 변수가 생기고 0, 2, ... , 10의 값이 들어간다.
- INPUT DATA @@ : DATA에 card 뒤의 1, 2, ... , 6이 들어간다.
- OUTPUT
- OUTPUT이 없으면 DO가 돌아가면서 마지막만 (10과 6만) 출력된다.
- OUTPUT이 있으면 DO의 모든 과정(<0,1>, <2,2>, ... , <10,6>)이 출력된다.
3> OUTPUT이 없는 경우 아래와 같이 마지막 data가 생성된다.
- 그러므로 반복문을 사용하는 경우(그리고 반복문의 모든 변수가 필요한 경우) OUTPUT을 사용해야 한다.
2) 특정 조건을 만족하는 dataset 생성
data 안에서 dataset을 새로 생성하는 방법이다.
1> 실제 사용 사례
- proc univariate에서 평균을 구하고 이를 변수로 사용하고 싶을 때
2> 예제 코드
- data a B1 B2 : dataset을 3개 선언 / 변수와 data는 가장 맨 앞의 a로 저장
(구분할 것 3가지 dataset이름 / 변수 / 읽어들인 측정 data 값)
- IF DATA<3 THEN OUTPUT B1 : DATA(변수)의 값이 3보다 작으면 B1(dataset 이름)으로 빼가라
cf> OUTPUT 명령어에서 지정할 수 있는 기술통계량
5. 변수의 설명 부여 (LABEL)
1> 사용 사례
이전에 변수를 지정할 때에는 'DATA'(dataset 이름 설정)와 'INPUT'(변수 설정)을 사용
그런데 INPUT문 내부에는 영어만 들어갈 수 있다.
대신에 나중에 결과 출력시 한글 등 다른 글을 넣고 싶을 때 LABEL을 사용
2> 예시
- LABEL VARIABLE1 = 'LABEL1' ... : 변수 명(VARIABLE1)을 적고 작은 따옴표 안에 설명(LABEL1)을 적는다.
작은 따옴표
label data라고 써야 함
영어에 대한 설명을 할 수 있음
6. SAS 연산자 및 함수
1) 산술 연산자
2) 산술함수
(x4는 3 나와야 하는데 오타)
3) 수학함수
4) 표본 통계량 함수
proc univariate를 해도 간단하게 요약을 해주지만
일부 통계량만 궁금한 경우에 아래의 함수들을 사용할 수 있다.
5) 확률 밀도 함수
1> 사용 사례
통계 패키지를 사용하기 때문에 분포표를 볼 필요는 없지만
분포 확률을 계산하려고 할 때
(다 외우기는 어렵지만)
2> 암기 방법
- 이산 : 이항, 기하, 음이항, 베르누이
- 이산 vs 연속 (위에 2개 vs 나머지)
- 이산 확률 변수는 범위 관련 parameter(m)이 맨 뒤에
- 연속 확률 변수는 범위 관련 parameter(x)가 맨 앞에
3> 설명
- 이산과 연속확률분포 모두 사용 가능하게 누적 분포 형태로 설명되어있다.
- PROBNML(p, n, m) : p 먼저 쓰는 거 헷갈리지 않기
- PROGAM(x, a) : G(a, 1) 1임을 기억하기
'SAS' 카테고리의 다른 글
5-1강 - SAS 기본 procedure 1 (SORT, GCHART) (0) | 2020.04.16 |
---|---|
[통계 개념] 4강 - 여러가지 확률 분포 (0) | 2020.04.16 |
3-1강 - SAS data 단계 (dataset 생성, datset 및 변수의 제어) (0) | 2020.03.21 |
[통계 개념] 2강 - Data의 요약 및 표현 (0) | 2020.03.21 |
1-3강 - SAS 실습 (0) | 2020.03.17 |