R: Relabel the Components

relabel {flexmix} | R Documentation

## Relabel the Components

### Description

The components are sorted by the value of one of the parameters or according to an integer vector containing the permutation of the numbers from 1 to the number of components.

### Usage

    relabel(object, by, ...)
    ## S4 method for signature 'FLXdist,character'
    relabel(object, by, which = NULL, ...)

### Arguments

`object` | An object of class `"flexmix"`.
`by` | If a character vector, it needs to be one of `"prior"`, `"model"`, `"concomitant"` indicating if the parameter should be from the component-specific or the concomitant variable model. If an integer vector it indicates how the components should be sorted. If missing, the components are sorted by component size.
`which` | Name (or unique substring) of a parameter if `by` is equal to "model" or "concomitant".
`...` | Currently not used.

### Author(s)

Friedrich Leisch and Bettina Gruen

### Examples

        set.seed(123)
        beta <- matrix(1:16, ncol = 4)
        beta
        df1 <- ExLinear(beta, n = 100, sd = .5)
        f1 <- flexmix(y~., data = df1, k = 4)

        ## There was label switching, parameters are not in the same order
        ## as in beta:
        round(parameters(f1))

        betas <- rbind(beta, .5)
        betas

        ## This makes no sense:
        summary(abs(as.vector(betas-parameters(f1))))

        ## We relabel the components by sorting the coefficients of x1:
        r1 <- relabel(f1, by = "model", which = "x1")
        round(parameters(r1))

        ## Now we can easily compare the fit with the true parameters:
        summary(abs(as.vector(betas-parameters(r1))))

[Package flexmix version 2.3-14 Index]