relabel {flexmix}R Documentation

Relabel the Components

Description

The components are sorted by the value of one of the parameters, and then one EM step is made initialized with the posterior probabilities of the previous fit (because of this single EM step estimates may change slightly even if EM converged previously).

Usage

relabel(object, by, ...)
## S4 method for signature 'flexmix,character'
relabel(object, by, data, ...)

Arguments

object

An object of class "flexmix".

by

Name (or unique substring) of a parameter.

data

Data frame or list containing the data. If missing, an attempt is made to recover the data from the call, this typically works only when used at the prompt and no model contains extra variables in the model-specific formula .

...

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="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-6 Index]