> ## Documentation Index
> Fetch the complete documentation index at: https://docs.repdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# anova

> # Description

Get linear regression anova analysis between two questions.

# Payload

```json
{
  "fromDate": string,
  "toDate": string,
  "questionId1": string,
  "questionId2": string,
  "filter": array
}
```

where:

* `fromDate`: start date in ISO format. __(Required)__.
* `toDate`: end date in ISO format. __(Required)__.
* `questionId1`: Question identifier for the `x` axis. __(Required)__.  
* `questionId2`: Question identifier for the `y` axis. __(Required)__.  
* `filter`: array of filters to filter the responses. (Optional).

# Response

## 200 OK 

```json
{
    "sSBetween": "number",
    "sSWithin": "number",
    "sSTotal": "integer",
    "dfBetween": "number",
    "dfWithin": "number",
    "dfTotal": "number",
    "mSBetween": "number",
    "mSWithin": "number",
    "f": "number",
    "pValue": "number",
    "groups": "object",
    "tukeyhsd": "array of array",
    "sSgroups": "object",
    "meansTable": {
        "2.00": {
            "n": "number",
            "mean": "number",
            "stdDev": "number",
            "stdError": "number",
            "min": "number",
            "max": "number"
        },
        "1.00": {
            "n": 10,
            "mean": 5.7,
            "stdDev": 1.7029386365926402,
            "stdError": 0.5385164807134504,
            "min": 3,
            "max": 8
        },
        "_total_": {
            "n": 15,
            "mean": 6,
            "stdDev": 1.927248223318863,
            "stdError": 0.49761335152811925,
            "min": 3,
            "max": 10
        }
    }
}
```
where: 

- `sSBetween`: Sum of squares between groups.
- `sSWithin`: Sum of squares within groups.
- `sSTotal`: Sum of squares total.
- `dfBetween`: Degrees of freedom between groups.
- `dfWithin`: Degrees of freedom within groups.
- `dfTotal`: Degrees of freedom total.
- `mSBetween`: Mean square between groups.
- `mSWithin`: Mean square within groups.
- `f`: F-test value.
- `pValue`: F-test **p** value
- `groups`:
```
  {
    q1-option-nthIndex: [...q2-values-for-q1],
    ...
  }
```
  - `q1-option-nthIndex`: index of option selected on q1
  - `q2-values-for-q1`: array of values selected on q2 that corresponds to the option selected on q1.
- `tukeyhsd`: Tukey "honestly significant difference" or "honest significant difference".
- `sSgroups`: Means squares groups.
```
  {
    q1-option-nthIndex: "mean square value"
  }
```
- `meansTable`: Anova means values for groups
  ```
  {
    q1-option-1stIndex: {
      "n": "number",
      "mean": "number",
      "stdDev": "number",
      "stdError": "number",
      "min": "number",
      "max": "number",
    },
    q1-option-2ndIndex: {},
    ...
    q1-option-nthIndex: {},
    _total_: {
      "n": "number",
      "mean": "number",
      "stdDev": "number",
      "stdError": "number",
      "min": "number",
      "max": "number",
    }
  }
  ```
    - "n": Group size
    - "mean": mean square
    - "stdDev": Standard deviation
    - "stdError": Standard deviation error
    - "min": Min value found in group
    - "max": Max value found in group

## 401 Unauthorized

> If user don't have permission to use this endpoint.

## 500 Internal Server Error

> If there is a problem with the service.

# Description

Get linear regression anova analysis between two questions.

# Payload

```json theme={null}
{
  "fromDate": string,
  "toDate": string,
  "questionId1": string,
  "questionId2": string,
  "filter": array
}
```

where:

* `fromDate`: start date in ISO format. **(Required)**.
* `toDate`: end date in ISO format. **(Required)**.
* `questionId1`: Question identifier for the `x` axis. **(Required)**.
* `questionId2`: Question identifier for the `y` axis. **(Required)**.
* `filter`: array of filters to filter the responses. (Optional).

# Response

## 200 OK

```json theme={null}
{
    "sSBetween": "number",
    "sSWithin": "number",
    "sSTotal": "integer",
    "dfBetween": "number",
    "dfWithin": "number",
    "dfTotal": "number",
    "mSBetween": "number",
    "mSWithin": "number",
    "f": "number",
    "pValue": "number",
    "groups": "object",
    "tukeyhsd": "array of array",
    "sSgroups": "object",
    "meansTable": {
        "2.00": {
            "n": "number",
            "mean": "number",
            "stdDev": "number",
            "stdError": "number",
            "min": "number",
            "max": "number"
        },
        "1.00": {
            "n": 10,
            "mean": 5.7,
            "stdDev": 1.7029386365926402,
            "stdError": 0.5385164807134504,
            "min": 3,
            "max": 8
        },
        "_total_": {
            "n": 15,
            "mean": 6,
            "stdDev": 1.927248223318863,
            "stdError": 0.49761335152811925,
            "min": 3,
            "max": 10
        }
    }
}
```

where:

* `sSBetween`: Sum of squares between groups.
* `sSWithin`: Sum of squares within groups.
* `sSTotal`: Sum of squares total.
* `dfBetween`: Degrees of freedom between groups.
* `dfWithin`: Degrees of freedom within groups.
* `dfTotal`: Degrees of freedom total.
* `mSBetween`: Mean square between groups.
* `mSWithin`: Mean square within groups.
* `f`: F-test value.
* `pValue`: F-test **p** value
* `groups`:

```
  {
    q1-option-nthIndex: [...q2-values-for-q1],
    ...
  }
```

* `q1-option-nthIndex`: index of option selected on q1
* `q2-values-for-q1`: array of values selected on q2 that corresponds to the option selected on q1.
* `tukeyhsd`: Tukey "honestly significant difference" or "honest significant difference".
* `sSgroups`: Means squares groups.

```
  {
    q1-option-nthIndex: "mean square value"
  }
```

* `meansTable`: Anova means values for groups
  ```
  {
    q1-option-1stIndex: {
      "n": "number",
      "mean": "number",
      "stdDev": "number",
      "stdError": "number",
      "min": "number",
      "max": "number",
    },
    q1-option-2ndIndex: {},
    ...
    q1-option-nthIndex: {},
    _total_: {
      "n": "number",
      "mean": "number",
      "stdDev": "number",
      "stdError": "number",
      "min": "number",
      "max": "number",
    }
  }
  ```
  * "n": Group size
  * "mean": mean square
  * "stdDev": Standard deviation
  * "stdError": Standard deviation error
  * "min": Min value found in group
  * "max": Max value found in group

## 401 Unauthorized

> If user don't have permission to use this endpoint.

## 500 Internal Server Error

> If there is a problem with the service.

##### Query Parameters

| Parameter   | Description | Required | Example |
| ----------- | ----------- | -------- | ------- |
| `projectId` | —           | No       | —       |


## OpenAPI

````yaml POST /linear-regression-analysis-service/anova
openapi: 3.0.3
info:
  title: SightX API
  version: 1.0.0
  description: >-
    SightX REST API documentation. Most responses are JSON; some export
    endpoints return files. API access is a paid add-on — contact
    sales@sightx.io for details.
servers:
  - url: https://auth.admin.sightx.io
    description: Authentication (Production)
  - url: https://auth.staging-admin.sightx.io
    description: Authentication (Staging)
security:
  - AuthorizationHeader: []
paths:
  /linear-regression-analysis-service/anova:
    post:
      summary: anova
      description: >-
        # Description


        Get linear regression anova analysis between two questions.


        # Payload


        ```json

        {
          "fromDate": string,
          "toDate": string,
          "questionId1": string,
          "questionId2": string,
          "filter": array
        }

        ```


        where:


        * `fromDate`: start date in ISO format. __(Required)__.

        * `toDate`: end date in ISO format. __(Required)__.

        * `questionId1`: Question identifier for the `x` axis. __(Required)__.  

        * `questionId2`: Question identifier for the `y` axis. __(Required)__.  

        * `filter`: array of filters to filter the responses. (Optional).


        # Response


        ## 200 OK 


        ```json

        {
            "sSBetween": "number",
            "sSWithin": "number",
            "sSTotal": "integer",
            "dfBetween": "number",
            "dfWithin": "number",
            "dfTotal": "number",
            "mSBetween": "number",
            "mSWithin": "number",
            "f": "number",
            "pValue": "number",
            "groups": "object",
            "tukeyhsd": "array of array",
            "sSgroups": "object",
            "meansTable": {
                "2.00": {
                    "n": "number",
                    "mean": "number",
                    "stdDev": "number",
                    "stdError": "number",
                    "min": "number",
                    "max": "number"
                },
                "1.00": {
                    "n": 10,
                    "mean": 5.7,
                    "stdDev": 1.7029386365926402,
                    "stdError": 0.5385164807134504,
                    "min": 3,
                    "max": 8
                },
                "_total_": {
                    "n": 15,
                    "mean": 6,
                    "stdDev": 1.927248223318863,
                    "stdError": 0.49761335152811925,
                    "min": 3,
                    "max": 10
                }
            }
        }

        ```

        where: 


        - `sSBetween`: Sum of squares between groups.

        - `sSWithin`: Sum of squares within groups.

        - `sSTotal`: Sum of squares total.

        - `dfBetween`: Degrees of freedom between groups.

        - `dfWithin`: Degrees of freedom within groups.

        - `dfTotal`: Degrees of freedom total.

        - `mSBetween`: Mean square between groups.

        - `mSWithin`: Mean square within groups.

        - `f`: F-test value.

        - `pValue`: F-test **p** value

        - `groups`:

        ```
          {
            q1-option-nthIndex: [...q2-values-for-q1],
            ...
          }
        ```
          - `q1-option-nthIndex`: index of option selected on q1
          - `q2-values-for-q1`: array of values selected on q2 that corresponds to the option selected on q1.
        - `tukeyhsd`: Tukey "honestly significant difference" or "honest
        significant difference".

        - `sSgroups`: Means squares groups.

        ```
          {
            q1-option-nthIndex: "mean square value"
          }
        ```

        - `meansTable`: Anova means values for groups
          ```
          {
            q1-option-1stIndex: {
              "n": "number",
              "mean": "number",
              "stdDev": "number",
              "stdError": "number",
              "min": "number",
              "max": "number",
            },
            q1-option-2ndIndex: {},
            ...
            q1-option-nthIndex: {},
            _total_: {
              "n": "number",
              "mean": "number",
              "stdDev": "number",
              "stdError": "number",
              "min": "number",
              "max": "number",
            }
          }
          ```
            - "n": Group size
            - "mean": mean square
            - "stdDev": Standard deviation
            - "stdError": Standard deviation error
            - "min": Min value found in group
            - "max": Max value found in group

        ## 401 Unauthorized


        > If user don't have permission to use this endpoint.


        ## 500 Internal Server Error


        > If there is a problem with the service.
      operationId: anova-post-linear-regression-analysis-service-anova
      parameters:
        - name: Authorization
          in: header
          required: true
          description: Auth token
          schema:
            type: string
        - name: projectId
          in: query
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              fromDate: '2020-01-01'
              toDate: '2022-12-31'
              filter: []
              questionId1: q60de2bb029a7230061e209f8
              questionId2: q60de2bdeffcabb005be295df-3
      responses:
        '200':
          description: anova
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
              example:
                sSBetween: 9
                sSWithin: 2.5
                sSTotal: 11.5
                dfBetween: 3
                dfWithin: 4
                dfTotal: 7
                mSBetween: 3
                mSWithin: 0.625
                f: 4.8
                pValue: 0.08190207264171079
                groups:
                  '3.00':
                    - 3
                    - 4
                  '2.00':
                    - 1
                  '1.00':
                    - 3
                    - 2
                    - 1
                  '4.00':
                    - 4
                    - 4
                tukeyhsd:
                  - - - 0
                      - 1
                    - 0.18381849101753034
                  - - - 0
                      - 2
                    - 0.2984621358343368
                  - - - 0
                      - 3
                    - 0.9164226624660774
                  - - - 1
                      - 2
                    - 0.7109011294549475
                  - - - 1
                      - 3
                    - 0.11380425376419612
                  - - - 2
                      - 3
                    - 0.1537440535960901
                sSgroups:
                  '3.00': 3.5
                  '2.00': 1
                  '1.00': 1.9999999999999998
                  '4.00': 4
                meansTable:
                  '3.00':
                    'n': 2
                    mean: 3.5
                    stdDev: 0.7071067811865476
                    stdError: 0.5
                    min: 3
                    max: 4
                  '2.00':
                    'n': 1
                    mean: 1
                    stdDev: null
                    stdError: null
                    min: 1
                    max: 1
                  '1.00':
                    'n': 3
                    mean: 2
                    stdDev: 1
                    stdError: 0.5773502691896258
                    min: 1
                    max: 3
                  '4.00':
                    'n': 2
                    mean: 4
                    stdDev: 0
                    stdError: 0
                    min: 4
                    max: 4
                  _total_:
                    'n': 8
                    mean: 2.75
                    stdDev: 1.2817398889233114
                    stdError: 0.4531634835874828
                    min: 1
                    max: 4
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      servers:
        - url: https://linear-regression-analysis.sightx.io
components:
  securitySchemes:
    AuthorizationHeader:
      type: apiKey
      in: header
      name: Authorization
      description: Access token obtained from the m2m-token endpoint.

````