CORR
구문
CORR(expr1, expr2) [ OVER (analytic_clause) ]
참고:
구문, 의미, 그리고 제한 사항에 대한 정보는 Analytic Functions에 대한 내용을 참조하세요.
목적
CORR 함수는 숫자 쌍의 집합의 상관 계수(coefficient of correlation)를 반환합니다. 이 함수는 집계(aggregation) 또는 분석(analytic) 함수로 사용할 수 있습니다.
이 함수는 숫자 데이터 유형이나 숫자 데이터 유형으로 암묵적으로 변환될 수 있는 비숫자 데이터 유형을 인수로 받습니다. Oracle은 가장 높은 숫자 우선 순위를 가진 인수를 결정하고, 나머지 인수를 해당 데이터 유형으로 암묵적으로 변환하여 해당 데이터 유형을 반환합니다.
참고:
- 더 자세한 내용은 암묵적 변환에 대한 표 2-8을 참조하고, 숫자 우선 순위에 대한 정보는 Numeric Precedence를 확인하세요.
- Oracle 데이터베이스는 NULL인 expr1 또는 expr2 쌍을 제거한 후 함수를 (expr1, expr2) 집합에 적용합니다. 그런 다음 Oracle은 다음과 같은 계산을 수행합니다:
COVAR_POP(expr1, expr2) / (STDDEV_POP(expr1) * STDDEV_POP(expr2))
이 함수는 NUMBER 유형의 값을 반환합니다. 함수가 빈 집합에 적용되면 null을 반환합니다.
노트: CORR 함수는 Pearson 상관 계수(Pearson's correlation coefficient)를 계산합니다. 이 계수는 숫자 표현식을 인수로 필요로 합니다. 또한 Oracle은 비모수적 또는 순위 상관을 지원하기 위해 CORR_S (Spearman's rho coefficient) 및 CORR_K (Kendall's tau-b coefficient) 함수를 제공합니다.
참고:
Aggregate Functions, expr의 유효한 형태에 대한 정보는 About SQL Expressions, 그리고 CORR_S 및 CORR_K 함수에 대한 정보는 CORR_*를 참조하세요.
집계 예제
다음 예제는 샘플 테이블 oe.product_information의 무게 클래스별로 제품의 리스트 가격과 최소 가격 간의 상관 계수를 계산합니다:
SELECT weight_class, CORR(list_price, min_price) "Correlation"
FROM product_information
GROUP BY weight_class
ORDER BY weight_class, "Correlation";
WEIGHT_CLASS Correlation
------------ -----------
1 .999149795
2 .999022941
3 .998484472
4 .999359909
5 .999536087
분석 예제
다음 예제는 직원의 직책에 따라 회사에서 근무한 기간과 급여 간의 상관 관계를 보여줍니다. 결과 집합은 특정 직무에 속하는 각 직원에 대해 동일한 상관 관계를 보여줍니다:
SELECT employee_id, job_id,
TO_CHAR((SYSDATE - hire_date) YEAR TO MONTH ) "Yrs-Mns", salary,
CORR(SYSDATE-hire_date, salary)
OVER(PARTITION BY job_id) AS "Correlation"
FROM employees
WHERE department_id in (50, 80)
ORDER BY job_id, employee_id;
EMPLOYEE_ID JOB_ID Yrs-Mns SALARY Correlation
----------- ---------- ------- ---------- -----------
145 SA_MAN +04-09 14000 .912385598
146 SA_MAN +04-06 13500 .912385598
147 SA_MAN +04-04 12000 .912385598
148 SA_MAN +01-08 11000 .912385598
149 SA_MAN +01-05 10500 .912385598
150 SA_REP +04-05 10000 .80436755
151 SA_REP +04-03 9500 .80436755
152 SA_REP +03-10 9000 .80436755
153 SA_REP +03-03 8000 .80436755
154 SA_REP +02-07 7500 .80436755
155 SA_REP +01-07 7000 .80436755
. . .
출처: 오라클 레퍼런스
원문 링크: Oracle CORR 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] COS - 라디안 각도를 코사인으로 변환 (0) | 2023.08.02 |
---|---|
[오라클 레퍼런스 함수] CORR_* - Pearson 상관 계수 계산 (0) | 2023.08.02 |
[오라클 레퍼런스 함수] CONVERT - 문자열을 다른 문자 집합으로 변환 (0) | 2023.08.02 |
[오라클 레퍼런스 함수] CONCAT - 문자열 결합(연결) (0) | 2023.08.02 |
[오라클 레퍼런스 함수] CON_UID_TO_ID - container UID에 대한 container ID 반환 (0) | 2023.08.02 |
댓글