cloud-fan commented on code in PR #36708: URL: https://github.com/apache/spark/pull/36708#discussion_r884912975
########## sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/linearRegression.scala: ########## @@ -291,3 +291,52 @@ case class RegrSlope(left: Expression, right: Expression) extends DeclarativeAgg newLeft: Expression, newRight: Expression): RegrSlope = copy(left = newLeft, right = newRight) } + +// scalastyle:off line.size.limit +@ExpressionDescription( + usage = "_FUNC_(y, x) - Returns the intercept of the univariate linear regression line for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.", + examples = """ + Examples: + > SELECT _FUNC_(y, x) FROM VALUES (1,1), (2,2), (3,3) AS tab(y, x); + 0.0 + > SELECT _FUNC_(y, x) FROM VALUES (1, null) AS tab(y, x); + NULL + > SELECT _FUNC_(y, x) FROM VALUES (null, 1) AS tab(y, x); + NULL + """, + group = "agg_funcs", + since = "3.4.0") +// scalastyle:on line.size.limit +case class RegrIntercept(left: Expression, right: Expression) extends DeclarativeAggregate + with ImplicitCastInputTypes with BinaryLike[Expression] { + + private val regrSlope = RegrSlope(left, right) Review Comment: It looks tricky to have one more level of indirection, can we create `CovPopulation` and `VariancePop` here? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org