BookmarkSubscribeRSS Feed

PROC TABULATE - Cross Tabulation

Started Wednesday by
Modified Wednesday by
Views 55

PROC TABULATE 문은 교차표뿐 아니라 다양한 형태의 통계형 요약 테이블을 만들 수 있습니다.

교차표란(Cross-Tabulation) 이란, 두 개 이상의 범주형 변수를 교차시켜 변수 간의 관계 및 빈도수를 표로 나타내는 방법입니다.

예를 들면, 남/여 * 오른손/왼손잡이 조합별 관측치 개수를 확인할 수 있습니다.

특정 변수의 값이 다른 변수의 값에 따라 어떻게 달라지는지 확인할 수도 있으며 두 변수 사이의 연관성을 분석할 수 있습니다. (독립성 / 상관성)

 

 

 

 

image.png

 

교차표 예시

https://en.wikipedia.org/wiki/Contingency_table

 

 

 

 

 

■ PROC TABULATE 기본 Syntax

 

PROC TABULATE DATA= ... ;
    CLASS ... ;   
    VAR   ... ;  
    TABLE ... ;
RUN;

 

  • DATA = : 분석할 데이터 셋

  • CLASS : 범주형 변수 설정합니다. 교차표의 행과 열을 구성하는 범주형 변수입니다.

  • VAR: 수치형 변수를 설정합니다.

  • TABLE: 행과 열의 구조로 교차표의 형태를 설정할 수 있습니다.

 

 

 

■ PROC TABULATE 예제

 

활용 데이터는 sale.xlsx입니다.

판매 데이터는 2,999개의 매출 데이터로 21개의 칼럼으로 구성되어 있습니다.

 

 

image.png

 

 

  • Row_ID : 행 번호 (단순 식별자)

  • Order_ID : 주문 번호

  • Order_Date : 주문 날짜

  • Order_Quantity : 주문 수량

  • Sales : 매출 금액

  • Discount : 할인율

  • Ship_Mode : 배송 방식 (예: Regular Air)

  • Profit : 이익

  • Unit_Price : 단가

  • Shipping_Cost : 배송비

  • Customer_Name : 고객 이름

  • Province : 고객 지역 (예: Alberta, Ontario)

  • Customer_Segment : 고객 세그먼트 (예: Consumer, Corporate, Home Office)

  • Product_Category : 제품 카테고리 (예: Furniture)

  • Product_Sub_Category : 세부 카테고리 (예: Office Furnishings)

  • Product_Name : 제품명

  • Product_Container : 제품 포장 방식 (예: Small Box, Medium Box)

  • Product_Base_Margin : 제품 기본 마진율

  • Ship_Date : 배송 날짜

  • customer_id : 고객 ID (숫자형)

  • product_id : 제품 ID (숫자형)

 

 

PROC TABULATE DATA = SALE;
CLASS PROVINCE SHIP_MODE;
VAR SALES SHIPPING_COST;
TABLE PROVINCE*(ALL SHIP_MODE) ALL,
		N SALES*(SUM MEAN) SHIPPING_COST*(SUM MAX MIN);
RUN;	

위 코드는 지역(Province)별, 배송방법(Ship_Mode)별 매출 현황을 알 수 있는 코드입니다.

 

 

 

 

■ 코드 설명

 

  • CLASS

    • PROVINCE(지역; Alberta, British Columbia, ... )와 SHIP_MODE(배송방법; All, Ship_Mode, Delivery Truck, Express Air, Regular Air)를 범주형 변수로 지정합니다.

 

  • VAR

    • SALES(매출금액)와 SHIPPING_COST(배송비)를 분석 대상으로 삼고 수치형 변수로 설정합니다. SALES 변수와 SHIPPING_COST 변수들에 대해서 통계량을 계산할 수 있습니다.

 

  • TABLE

    • PROVINCE*(ALL SHIP_MODE) ALL: PROVINCE*ALL로 각 지역별 전체 집계

    • PROVINCE*(ALL SHIP_MODE) ALL: PROVINCE*SHIP_MODE로 각 지역별로 배송방법을 집계

    • PROVINCE*(ALL SHIP_MODE) ALL: 전체 총합

    • N SALES*(SUM MEAN) SHIPPING_COST*(SUM MAX MIN);

      • N: 주문건수

      • SALES*(SUM MEAN) : 매출액의 합계와 평균

      • SHIPPING_COST*(SUM MAX MIN): 배송비의 합계, 최댓값, 최솟값

       

 

 

 

 image.png

 

 결과_일부

 

 

 

 

Contributors
Version history
Last update:
Wednesday
Updated by:

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Article Tags