regr_avgx
Calculates the mean of the independent variable over complete pairs.
Rows with a missing y are excluded even when x is present. Consequently, this function can differ from avg(x) on the same table.
Syntax
regr_avgx(y, x)Arguments
y— The dependent numeric variable.x— The independent numeric variable.
A row contributes only when both arguments are non-NULL. The means and the count in the formulas below use these complete pairs, rather than each column separately.
Calculation
sum(x) / nHere n is the number of complete pairs, mean_x and mean_y are their arithmetic means, Sxx and Syy are their centered sums of squares, and Sxy is their centered cross-product sum.
Returned value
The paired mean of x as REAL. No complete pairs returns NULL.
The result is approximate, including when the inputs are exact integers or decimals. Nonfinite inputs return NULL; finite arithmetic overflow raises NUMERIC_OVERFLOW.
Examples
Measurements with a linear relationship
The complete observations below follow reading = 2 * hour + 1. The two incomplete observations are excluded.
CREATE TABLE measurements (hour INTEGER, reading INTEGER);
INSERT INTO measurements VALUES (1, 3), (2, 5), (3, 7), (4, 9), (5, NULL), (NULL, 100);SELECT round(regr_avgx(reading, hour), 6) AS result
FROM measurements
FORMAT csv;2.5No complete observations
CREATE TABLE incomplete_measurements (hour INTEGER, reading INTEGER);
INSERT INTO incomplete_measurements VALUES (1, NULL), (NULL, 5);SELECT regr_avgx(reading, hour)
FROM incomplete_measurements
FORMAT csv;\NRelated functions
regr_countcounts the pairs used by the calculation.regr_slopeandregr_interceptdescribe the fitted line.covar_pop,covar_sampandcorrdescribe the relationship between the variables.