728x90

SAS에는 다른 소프트웨어처럼 여러 가지 기능을 가진 내장 함수를 갖고 있어서

이를 알아두면 상당히 편리하게 사용할 수 있습니다.

이런 기능을 모르면 SAS로는 해결할 수 없는 경우가 많으며 “SAS로는 해결할 수 없다.”라고

생각하게 됩니다.

SAS 에서 제공되는 함수들은 R에서도 가능합니다.

R과 SAS를 서로 비교해 보는 것도 흥미로운 일입니다.

(1) 연산(Arithematic) 기능 함수

연산을 담당하는 함수로 다음과 같은 것들이 있습니다.

 

ABS(argument) : 절대값을 계산

DIM(ARRAY) : ARRAY 문의 원소들의 수

HBOUND(ARRAY) : ARRAY에 사용된 원소들의 상한값

LBOUND(ARRAY) : ARRAY에 사용된 원소들의 하한값

MAX(argument, argument,...) : 최대값

MIN(argument, argument,...) : 최소값

MOD(arg1, arg2) : 나눗셈에서의 나머지, arg1arg2 로 나눈 나머지

SIGN( ) : 변수의 부호 또는 0

SQRT(argument) : 제곱근

 

(2) Truncation 함수

숫자의 일부를 잘라내는 기능을 가진 함수로서, 반올림, 올림, 내림 그리고 정수(integer)로 만드는 기능을 갖고 있습니다.

 

CEIL(argument) : 변수보다 큰 수이면서 제일 작은 정수

FLOOR(argument) : 변수보다 적은 수이면서 제일 큰 정수

INT(argument) : 정수 부분만을 취합니다.

ROUND(argument, 반올림단위) : 반올림한 값

TRUNC(argument, 반올림단위) : 특정 길이 만큼 제거된 값

 

(3) 수학적 연산 함수

 수학적 함수와 관련된 기능을 제공하고 있습니다.

 

DIGAMMA : GAMMA 함수의 LOG의 미분값

ERF : error function

ERFC : error functioncomplement

EXP : 지수 함수

GAMMA : complete Gamma Function

LGAMMA : 주어진 값의 GAMMA function의 자연 로그 계산

LOG : 자연 로그(basee)

LOG2 : base2인 로그

LOG10 : 상용 로그

 

(4) 삼각함수와 Hyperbolic 함수와 관련된 기능

 삼각함수 관련된 기능을 제공하고 있습니다.

 

ARCOS(argument) : arc cosine 계산

ARSIN(argument) : arc sine 계산

ATAN(argument) : arc tangent 계산

COS(argument) : cosine 계산

COSH(argument) : hyperbolic cosine 계산

SIN(argument) : sine 계산

SINH(argument) : hyperbolic sine 계산

TAN(argument) : tangent 계산

TANH(argument) : hyperbolic tangent 계산

 

 

(5) 통계적 확률분포와 관련된 함수

통계학에는 여러 가지 확률분포가 있습니다. 다음은 확률분포와 관련된 함수 리스트입니다.

 

POISSON(lamda,x) : 포아송 분포(Poisson Probability distribution function)

PROBBETA(x,a,b) : 베타 분포(Beta Probability distribution function)

PROBNML(p,n,x) : 이항 분포(Binomial Probability distribution function)

PROBCHI(x,df) : 카이제곱 분포(Chi-squared Probability distribution function)

PROBF(x,ndf,ddf) : F 분포(F distribution function)

PROBGAM(x,a) : 감마 분포

PROBHYPR : 초기하 분포

PROBNEGB : 이항 분포

PROBNORM : 표준 정규 분포

PROBT : t 분포(Student's distribution function)

 

(6) Quantile 함수

분위수를 구하는 함수입니다.

 

BETAINV : 베타 함수의 역함수

CINV : 카이제곱 분포의 Quantile

FINV : F 분포의 Quantile

GAMINV : 감마 분포의 역함수

PROBIT : 정규 분포의 역함수

TINV : t 분포의 역함수

 

(7) 난수 발생과 관련된 함수

NORMAL : normally distributed pseudo-random variate 생성

RANBIN : 이항 분포로 관측치 생성

RANCAU : Cauchy Deviate 생성

RANEXP : exponential deviate 생성

RANGAM : 감마 분포로부터 관측치 생성

RANNOR : normal deviate 생성

RANPOI : Poisson 분포로부터 관측치 생성

RANUNI : uniform deviate 생성

UNIFORM : [0,1] 범위에서의 uniform 분포를 따르는 pseudo-random variate 생성

 

(8) 문자와 관련된 함수

문자와 관련된 기능으로는 다음과 같은 것이 있습니다. 문자다루기는 8강에서 상세히 설명하고 있습니다.

 

BYTE : ASCII 코드를 문자로 변형

LENGTH : 변수의 길이

SUBSTR : 문자에서의 일부를 추출

TRIM : 빈칸을 제거

UPCASE : 대문자로 변환

 

이 외에도 COLLATE, COMPRESS, INDEX, INDEXC, LEFT, RANK, REPEAT, REVERSE, RIGHT, SCAN, TRANSLATE, VERIFY 같은 다양한 함수들이 있습니다.

 

(9) 날짜 계산과 관련된 기능

날짜와 관련된 기능으로는 다음과 같은 것이 있습니다. 날짜다루기는 8강에서 상세히 설명하고 있습니다.

 

DATE : 현재의 날ᄍᆞ를 SAS Date 값으로 변환합니다.

DATEJUL, : Julian-dateSAS Date 값으로 변환합니다.

DATETIME : 현재의 날짜와 시간을 계산합니다.

DAY : SAS Date 값으로부터 그 달의 날짜를 계산한다

DHMS(date,hour, minute,second)
: date, hour, minute, second로부터 SAS Datetime을 계산합니다.,

 

이 외에도 DATEPART, HMS, HOUR, INTCK, INTNX, JULDATE, MDY, MINUTE, MONTH, QTR, SECOND, TIME, TIMEPART, TODAY, WEEKDAY, YEAR, YYQ 등 다양한 함수들이 있습니다.

 

(10) 기타

DIFn : n-th LAG 차이를 계산합니다.

LAGn : n-th Lagged 값을 계산합니다.

INPUT

 

SAS에는 수많은 함수들이 있어서 이를 이해하시려면 도움말을 이용하시기 바랍니다.

 

메뉴 [도움말] - [SAS 도움말과 문서] - [컨텐츠] [SAS 제품]- [Base SAS] - [SAS Functions and CALL Routines] - [Dictionary of SAS Functions and CALL Routines]를 클릭하면 SAS/BASE에서 지원하는 함수 리스트들을 볼 수 있습니다.

 

다음은 정규분포를 따르는 난수를 발생시키는 RANNOR 함수의 도움말 화면입니다.

 

'SAS, R, Python 일반 > 7. SAS 함수와 응용' 카테고리의 다른 글

7.0. SAS함수와 응용 목차(s1)  (0) 2020.07.13

+ Recent posts