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   |
+---+----------------+

더 알아보기 (Learn more)