Documentation

pearsonr() function

pearsonr() returns the covariance of two streams of tables normalized to the Pearson R coefficient.

Function type signature
(on: [string], x: A, y: B) => stream[C] where C: Record

For more information, see Function type signatures.

Parameters

x

(Required) First input stream.

y

(Required) Second input stream.

on

(Required) List of columns to join on.

Examples

Return the covariance between two streams of tables

import "generate"

stream1 =
    generate.from(
        count: 5,
        fn: (n) => n * n,
        start: 2021-01-01T00:00:00Z,
        stop: 2021-01-01T00:01:00Z,
    )
        |> toFloat()

stream2 =
    generate.from(
        count: 5,
        fn: (n) => n * n * n / 2,
        start: 2021-01-01T00:00:00Z,
        stop: 2021-01-01T00:01:00Z,
    )
        |> toFloat()

pearsonr(x: stream1, y: stream2, on: ["_time"])

View example output


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.6

Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.

See the Blog Post

InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along with new capabilities for simple startup and expanded functionality in the Processing Engine.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2