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-19 Index]