REGR_R2
REGR_R2
REGR_R2 함수는 그룹 안의 null이 아닌 쌍에 대한 결정 계수(coefficient of determination)를 반환해요. null이 아닌 쌍에 대해 다음 공식으로 계산돼요:
NULL if VAR_POP(x) = 0, else
1 if VAR_POP(y) = 0 and VAR_POP(x) <> 0, else
POWER(CORR(y,x), 2)
여기서 x는 독립 변수이고 y는 종속 변수예요.
출처: 문서
본문
문법 (Syntax)
집계 함수 (Aggregate function)
REGR_R2(y, x)
윈도우 함수 (Window function)
REGR_R2(y, x) OVER ( [ PARTITION BY <expr3> ] )
인자 (Arguments)
- y — 종속 변수예요. 숫자 타입으로 평가될 수 있는 표현식이어야 해요.
- x — 독립 변수예요. 숫자 타입으로 평가될 수 있는 표현식이어야 해요.
- expr3 — 행을 파티션으로 그룹화하는 데 사용되는 선택적 표현식이에요.
중요: 인자의 순서에 유의하세요. 종속 변수가 먼저예요.
반환 (Returns)
입력 표현식 중 하나라도 DECFLOAT 타입이면 반환 타입은 DECFLOAT예요. 그 외에는 반환 타입이 FLOAT예요.
사용 메모 (Usage notes)
- 이 함수는 DISTINCT를 지원하지 않아요.
- 이 함수를 윈도우 함수로 호출할 때는 다음을 지원하지 않아요: OVER 절 안의 ORDER BY 절, 명시적 윈도우 프레임.
예제 (Examples)
CREATE OR REPLACE TABLE aggr(k INT, v DECIMAL(10,2), v2 DECIMAL(10, 2));
INSERT INTO aggr VALUES(1, 10, null);
INSERT INTO aggr VALUES(2, 10, 11), (2, 20, 22), (2, 25, null), (2, 30, 35);
SELECT k, REGR_R2(v, v2) FROM aggr GROUP BY k;
+---+----------------+
| k | regr_r2(v, v2) |
|---+----------------|
| 1 | [NULL] |
| 2 | 0.9976905312 |
+---+----------------+