blog.naver.com/hayden_log/222221173458

 

[SAS] 기술통계학, Descriptive Statistics

#MEANS #FREQ #UNIVARIATE #SAS #SAS_University_Edition #Descriptive_Stat...

blog.naver.com

#MEANS, #FREQ, #UNIVARIATE


1. MEANS 프로시저

2. FREQ 프로시저

3. UNIVARIATE 프로시저

4. Excel 파일로 내보내기


 

1. MEANS 프로시저, The MEANS Procedure

 

N, 평균, 표준편차, 최소값, 최대값 구하기

 

PROC MEANS DATA=A.tico N Mean STDDEV stackods;
	VAR BMI EF CKMB HbA1c;
	class age65;
RUN;

 

<코드 설명>

 

첫째 줄, A는 libname이고 tico는 데이터셋 이름. N, Mean, STDDEV는 출력할 통계량

stackods는 결과를 excel로 저장했을 때 한 셀에 한 결과 값만 들어감. (아래 이미지 참고)

둘째 줄, VAR은 통계량을 구하고 싶은 변수들

셋째 줄, class는 해당 변수의 level 별로 결과 출력됨. by를 사용해도 비슷한 결과를 얻을 수 있는데 결과 형태가 조금 다름

 

 

proc means 결과 (stackods 옵션 추가)

 

 

 

stackods를 option 추가 안 한 결과

proc means 결과 (stackods 옵션 주지 않음)

한 셀 안에 여러 개의 결과 값이 있음

이 결과는 나중에 엑셀 파일로 결과물을 export해도 그대로 한 셀 안에 존재하게 됨

반면, stackods 옵션을 추가해주면 위 그림처럼 셀 하나에 한 값만 존재하고

엑셀 파일로 추출 시 한 셀에 한 값이 존재하게 되어 결과물을 활용하는 데 더 쉬움

 

 

 


 

2. FREQ 프로시저, The FREQ Procedure

 

 

빈도, 백분율, 누적 빈도, 누적 백분율 구하기

 

proc freq data=A.tico;
	tables age65 gender group;
run;

 

<코드 설명>

 

첫째 줄, A는 libname이고 tico는 데이터셋 이름

둘째 줄, tables는 빈도 표를 작성할 변수들

 

 

FREQ 프로시저 결과

means 프로시저와 다르게 한 셀에 한 결과 값만 있음

엑셀로 추출해도 눈에 보이는 그대로 한 셀에 한 값만 존재함

 

 

 


3. UNIVARIATE 프로시저, The UNIVARIATE Procedure

평균, 표준편차, 분산, 중앙값, 사분위수, 최대값, 최소값, 극단값, 분포 그림을 구하기

proc univariate data=A.tico;
	var BMI EF CKMB HbA1c;
	by group;
	histogram BMI;
	probplot HbA1c;
run;

<코드 설명>

 

첫째 줄, A는 libname이고 tico는 데이터셋 이름

둘째 줄, var는 사용할 변수들. 출력할 변수들은 모두 여기 포함해 주어야 함

셋째 줄, by는 group의 level 별로 결과를 출력

넷째 줄, histogram을 출력할 변수

다섯째 줄, probplot은 분포도를 나타낼 변수

 

만약 모든 변수에 대해서 histogram이나 probplot을 뽑아내고 싶으시다면

histogram, probplot 뒤에 변수를 입력하지 않으면 됨

 

 

결과는 길어서 생략..

 

 


4. Excel 파일로 결과 내보내기

 

Excel 파일 형태로 결과 내보내기

 

ods excel file='/folders/myfolders/test/ods_excel.xlsx' style=seaside;

PROC MEANS DATA=A.tico N Mean STDDEV stackods;
	VAR BMI EF CKMB HbA1c;
	class age65;
RUN;
	
proc freq data=A.tico;
	tables age65 gender group;
run;

proc univariate data=A.tico;
	var BMI EF CKMB HbA1c;
	by group;
	histogram BMI;
	probplot HbA1c;
run;

ods excel close;

 

 

ods excel과 ods excel close가 중요!! 가운데 부분은 위 1, 2, 3의 코드로 해당 결과를 내보내기 한다는 의미!

 

<코드 설명>

첫째 줄의 file은 저장 경로와 파일명을 지정.

마지막 줄의 clase는 ods를 종료

 

 

 


 

+ Recent posts