獨斷論

SAS 문법 - 5 각종 연산과 함수들 본문

과학과 기술/SAS

SAS 문법 - 5 각종 연산과 함수들

부르칸 2021. 9. 2. 02:26

1. 값을 할당하기

원본 데이터에 4개의 시험 점수가 존재할때 총점을 계산하여 데이터에 넣어보자.

DATA grades;
	INPUT name $ 1-15 e1 e2 e3 e4 p1 f1;
	examtotal = e1 + e2 + e3 + e4;
	DATALINES;
Alexander Smith  78 82 86 69  97 80
John Simon       88 72 86  . 100 85
Patricia Jones   98 92 92 99  99 93
Jack Benedict    54 63 71 49  82 69
Rene Porter     100 62 88 74  98 92
;
RUN;
 
PROC PRINT DATA = grades;
	VAR name e1 e2 e3 e4 examtotal;
RUN;

위 SAS코드에서 e1, e2, e3 e4를 더하여 examtotal이라는 변수에 넣고 모든 변수를 grades라는 데이터에 넣었다.

결측값이 있는 변수를 더하면 그 결과는 결측값이 된다.

새로운 변수를 만들어 넣을수도 있지만 기존 데이터의 값을 변경하여 그 값을 다시 기존 변수에 넣을수도 있다.

DATA grades;
	INPUT name $ 1-15 e1 e2 e3 e4 p1 f1;
	e2 = e2 + 8; 
	DATALINES;
Alexander Smith  78 82 86 69  97 80
John Simon       88 72 86  . 100 85
Patricia Jones   98 92 92 99  99 93
Jack Benedict    54 63 71 49  82 69
Rene Porter     100 62 88 74  98 92
;
RUN;
 
PROC PRINT DATA = grades;
	VAR name e1 e2 e3 e4 p1 f1;
RUN;

e2에 8을 더하여 다시 e2에 넣었다.

 

2. 유용한 함수들

int 정수값을 돌려줌

abs 절대값

sqrt 제곱근

min 최소값

max 최대값

sum

mean 평균

log 자연로그

 

mean을 이용하여 평균을 데이터에 더하였다.

DATA grades;
	INPUT name $ 1-15 e1 e2 e3 e4 p1 f1;
	avg = mean(e1, e2, e3, e4);
	DATALINES;
Alexander Smith  78 82 86 69  97 80
John Simon       88 72 86  . 100 85
Patricia Jones   98 92 92 99  99 93
Jack Benedict    54 63 71 49  82 69
Rene Porter     100 62 88 74  98 92
;
RUN;
 
PROC PRINT DATA = grades;
	VAR name avg e1 e2 e3 e4 p1 f1;
RUN;

 결측값이 있는 경우 4로 나누지 않고 3으로 나누어 평균을 구하였다.

 

Comments