Computes the average of a set of source values and transforms the result from the source range to the target range. For example, for calculating the average of a set of questionnaire response scores and re-coding the average response to obtain a subscale score.

## Usage

```
compute_scale(
source,
source_range = NULL,
target_range = NULL,
flip_direction = FALSE,
min_n = 1
)
```

## Arguments

- source
A vector of values to be scaled

A numeric vector is expected.

- source_range
The permitted source range

A numeric vector containing two elements is expected, representing the lower and upper bounds of the permitted source range. Alternatively, if no argument is specified for

`source_range`

and`target_range`

, no transformation will be performed.- target_range
The target range

A numeric vector containing two elements is expected, representing the lower and upper bounds of the target range. Alternatively, if no argument is specified for

`source_range`

and`target_range`

, no transformation will be performed.- flip_direction
Flip direction of the scale?

The transformed values will be reversed within the target range, e.g. within the range 0 to 100, 25 would be reversed to 75.

This argument will be ignored if

`source_range`

and`target_range`

aren't specified.Default:

`FALSE`

Permitted Values:

`TRUE`

,`FALSE`

- min_n
Minimum number of values for computation

The minimum number of non-missing values in source for the computation to be carried out. If the number of non-missing values is below

`min_n`

, the result will be set to missing, i.e.`NA`

.A positive integer is expected.

Default: 1

## Value

The average of source transformed to the target range or `NA`

if
source doesn't contain `min_n`

values.

## Details

Returns a numeric value. If source contains less than `min_n`

values,
the result is set to `NA`

. If `source_range`

and `target_range`

aren't
specified, the mean will be computed without any transformation being
performed.

## See also

BDS-Findings Functions that returns a vector:
`compute_bmi()`

,
`compute_bsa()`

,
`compute_egfr()`

,
`compute_framingham()`

,
`compute_map()`

,
`compute_qtc()`

,
`compute_qual_imputation_dec()`

,
`compute_qual_imputation()`

,
`compute_rr()`