R: Chernoff Faces

PlotFaces {DescTools} | R Documentation

## Chernoff Faces

### Description

Plot Chernoff faces. The rows of a data matrix represent cases and the columns the variables.

### Usage

    PlotFaces(xy, which.row, fill = FALSE, nr, nc,
              scale = TRUE, byrow = FALSE, main, labels, col = "white")

### Arguments

`xy` | `xy` data matrix, rows represent individuals and columns attributes.
`which.row` | defines a permutation of the rows of the input matrix.
`fill` | logic. If set to `TRUE`, only the first `nc` attributes of the faces are transformed, `nc` is the number of columns of `x`.
`nr` | number of columns of faces on graphics device
`nc` | number of rows of faces
`scale` | logic. If set to `TRUE`, attributes will be normalized.
`byrow` | `if(byrow==TRUE)`, `x` will be transposed.
`main` | title.
`labels` | character strings to use as names for the faces.
`col` | a vector of colors used for the parts of the faces. Colors are recycled in the order: "nose", "eyes", "hair", "face", "lips", "ears". Default is NA, which will omit colors.

### Details

The features paramters of this implementation are:

- 1 height of face

- 2 width of face

- 3 shape of face

- 4 height of mouth

- 5 width of mouth

- 6 curve of smile

- 7 height of eyes

- 8 width of eyes

- 9 height of hair

- 10 width of hair

- 11 styling of hair

- 12 height of nose

- 13 width of nose

- 14 width of ears

- 15 height of ears

For details look at the literate program of `faces`

### Value

information about usage of variables for face elements is returned invisibly

### Note

based on version 12/2009

### Author(s)

H. P. Wolf, some changes Andri Signorell <andri@signorell.net>

### References

Chernoff, H. (1973) The use of faces to represent statistiscal assoziation, JASA, 68, pp 361–368.

The smooth curves are computed by an algorithm found in:
Ralston, A. and Rabinowitz, P. (1985) A first course in numerical analysis, McGraw-Hill, pp 76ff.
http://www.wiwi.uni-bielefeld.de/~wolf/: S/R - functions : faces

### Examples

    PlotFaces(rbind(1:3,5:3,3:5,5:7))

    data(longley)
    PlotFaces(longley[1:9,])

    set.seed(17)
    PlotFaces(matrix(sample(1:1000,128,), 16, 8), main="random faces")

    means <- lapply(iris[,-5], tapply, iris$Species, mean)
    m <- t(do.call(rbind, means))
    m <- cbind(m, matrix(rep(1, 11*3), nrow=3))

    # define the colors, first for all faces the same
    col <- replicate(3, c("orchid1", "olivedrab", "goldenrod4",
                          "peachpuff", "darksalmon", "peachpuff3"))
    rownames(col) <- c("nose","eyes","hair","face","lips","ears")
    # change haircolor individually for each face
    col[3, ] <- c("lightgoldenrod", "coral3", "sienna4")

    z <- PlotFaces(m, nr=1, nc=3, col=col)

    # print the used coding
    print(z$info, right=FALSE)

[Package DescTools version 0.99.28 Index]