본문 바로가기
오라클 게시판/오라클 함수

[오라클함수] CORR 함수

by 기서무나구물 2018. 11. 14.

포스팅 목차

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

    o CORR

     


    문법

    corr::=


    목적

    CORR함수는 2개의 수치형 변수에 대한 상관 계수를 반환한다. 집계 함수 또는 분석 함수로 이용할 수 있다.

    이 함수는 인수로써 임의의 수치형 또는 암묵적으로 수치형으로 변할 수 있는 비수치형을 취한다. 오라클은 수치의 우선순위가 가장 높은 인수를 판단하여, 나머지 인수를 암묵적으로 변환하여, 그 데이터형을 반환한다.

    오라클 데이터 베이스는 expr1 또는 expr2이 Null인 쌍을 제거한 후에 (expr1, expr2)의 집합을 적용한다. 오라클은 다음과 같이 계산을 한다.

    COVAR_POP(expr1, expr2) / (STDDEV_POP(expr1) * STDDEV_POP(expr2))
    함수는 NUMBER형태를 반환한다. 만약 함수가 empty 집합에 적용하면, Null을 반영한다.

    Note:

    CORR함수는 피어슨 상관 계수를 계산한다. 오라클은 비모수 또는 순위 상관을 지원하기 위하여 CORR_S(Spearman's rho 계수)와 CORR_K(Kendall's tau-b 계수)을 제공한다.

    참고


    예제

    • 집계함수 예제

    다음 예제는 oe.product_information테이블에서 weight_class의 제품의 표시 가격과 최소 가격의 상관계수를 계산한다.

    Oracle Program
    SELECT weight_class, CORR(list_price, min_price)
       FROM product_information
       GROUP BY weight_class;

     

    Results
    WEIGHT_CLASS CORR(LIST_PRICE,MIN_PRICE)
    ------------ --------------------------
               1                  .99914795
               2                 .999022941
               3                 .998484472
               4                 .999359909
               5                 .999536087

     


    • 분석함수 예제

    다음 예제는 sh.sales와 sh.times에서 1998년의 월 판매 수익과 월 판매 단위의 누적 상관 계수를 반환한다.

    Oracle Program
    SELECT t.calendar_month_number,
       CORR (SUM(s.amount_sold), SUM(s.quantity_sold))
       OVER (ORDER BY t.calendar_month_number) as CUM_CORR
       FROM sales s, times t
          WHERE s.time_id = t.time_id AND calendar_year = 1998
          GROUP BY t.calendar_month_number
          ORDER BY t.calendar_month_number;

     

    Results
    CALENDAR_MONTH_NUMBER   CUM_CORR
    --------------------- ----------
                        1
                        2          1
                        3 .994309382
                        4 .852040875
                        5 .846652204
                        6 .871250628
                        7 .910029803
                        8 .917556399
                        9 .920154356
                       10  .86720251
                       11 .844864765
                       12 .903542662

    상관 함수는 하나이상의 행이 필요하다. 이전 예제에서 첫 번째 행이 없는 이유.

     

      --------------------------------------------  

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크
    반응형

    댓글