2.8 KiB
2.8 KiB
title | description | aliases | menu | weight | flux/v0.x/tags | introduced | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cov() function | The `cov()` function computes the covariance between two streams by first joining the streams, then performing the covariance operation. |
|
|
102 |
|
0.7.0 |
The cov()
function computes the covariance between two streams by first joining the streams,
then performing the covariance operation.
cov(x: stream1, y: stream2, on: ["_time", "_field"], pearsonr: false)
Parameters
x
({{< req >}})
First input stream used to calculate the covariance.
Values in the _value
columns must be float values.
y
({{< req >}})
Second input stream used to calculate the covariance.
Values in the _value
columns must be float values.
on
({{< req >}}) List of columns to join on.
pearsonr
Normalize results to the Pearson R coefficient.
Default is false
.
Examples
The following example uses generate.from()
to generate sample data and show how cov()
transforms data.
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()
cov(x: stream1, y: stream2, on: ["_time"])
{{< expand-wrapper >}} {{% expand "View input and output" %}}
Input data
{{< flex >}} {{% flex-content %}}
stream1
_time | _value |
---|---|
2021-01-01T00:00:00Z | 0.0 |
2021-01-01T00:00:12Z | 1.0 |
2021-01-01T00:00:24Z | 4.0 |
2021-01-01T00:00:36Z | 9.0 |
2021-01-01T00:00:48Z | 16.0 |
{{% /flex-content %}} | |
{{% flex-content %}} |
stream2
_time | _value |
---|---|
2021-01-01T00:00:00Z | 0.0 |
2021-01-01T00:00:12Z | 0.0 |
2021-01-01T00:00:24Z | 4.0 |
2021-01-01T00:00:36Z | 13.0 |
2021-01-01T00:00:48Z | 32.0 |
{{% /flex-content %}} | |
{{< /flex >}} |
Output data
_value |
---|
87.75 |
{{% /expand %}} {{< /expand-wrapper >}}