This function creates an object of class `RprobitB_normalization`

,
which determines the utility scale and level.

## Usage

```
RprobitB_normalization(
level,
scale = "Sigma_1,1 := 1",
form,
re = NULL,
alternatives,
base,
ordered = FALSE
)
```

## Arguments

- level
The alternative name with respect to which utility differences are computed. Currently, only differences with respect to the last alternative can be computed.

- scale
A character which determines the utility scale. It is of the form

`<parameter> := <value>`

, where`<parameter>`

is either the name of a fixed effect or`Sigma_<j>,<j>`

for the`<j>`

th diagonal element of`Sigma`

, and`<value>`

is the value of the fixed parameter.- form
A

`formula`

object that is used to specify the model equation. The structure is`choice ~ A | B | C`

, where`choice`

is the name of the dependent variable (the choices),`A`

are names of alternative and choice situation specific covariates with a coefficient that is constant across alternatives,`B`

are names of choice situation specific covariates with alternative specific coefficients,and

`C`

are names of alternative and choice situation specific covariates with alternative specific coefficients.

Multiple covariates (of one type) are separated by a

`+`

sign. By default, alternative specific constants (ASCs) are added to the model. They can be removed by adding`+0`

in the second spot.In the ordered probit model (

`ordered = TRUE`

), the`formula`

object has the simple structure`choice ~ A`

. ASCs are not estimated.- re
A character (vector) of covariates of

`form`

with random effects. If`re = NULL`

(the default), there are no random effects. To have random effects for the ASCs, include`"ASC"`

in`re`

.- alternatives
A character vector with the names of the choice alternatives. If not specified, the choice set is defined by the observed choices. If

`ordered = TRUE`

,`alternatives`

is assumed to be specified with the alternatives ordered from worst to best.- base
A character, the name of the base alternative for covariates that are not alternative specific (i.e. type 2 covariates and ASCs). Ignored and set to

`NULL`

if the model has no alternative specific covariates (e.g. in the ordered probit model). Per default,`base`

is the last element of`alternatives`

.- ordered
A boolean,

`FALSE`

per default. If`TRUE`

, the choice set`alternatives`

is assumed to be ordered from worst to best.

## Value

An object of class `RprobitB_normalization`

, which is a list of

`level`

, a list with the elements`level`

(the number of the alternative specified by the input`level`

) and`name`

(the name of the alternative, i.e. the input`level`

), or alternatively`NA`

in the ordered probit case,and

`scale`

, a list with the elements`parameter`

(either`"s"`

for an element of`Sigma`

or`"a"`

for an element of`alpha`

), the parameter`index`

, and the fixed`value`

. If`parameter = "a"`

, also the`name`

of the fixed effect.

## Details

Any choice model has to be normalized with respect to the utility level and scale.

For level normalization, RprobitB takes utility differences with respect to one alternative. For the ordered model where only one utility is modeled, RprobitB fixes the first utility threshold to 0.

For scale normalization, RprobitB fixes one model parameter. Per default, the first error-term variance is fixed to

`1`

. This is specified via`scale = "Sigma_1,1 := 1"`

. Alternatively, any error-term variance or any non-random coefficient can be fixed.

## Examples

```
RprobitB:::RprobitB_normalization(
level = "B",
scale = "price := -1",
form = choice ~ price + time + comfort + change | 1,
re = "time",
alternatives = c("A", "B"),
base = "A"
)
#> Level: Utility differences with respect to alternative 'B'.
#> Scale: Coefficient of effect 'price' (alpha_1) fixed to -1.
```