Learn R Programming

RRF (version 1.9.4)

classCenter: Prototypes of groups.

Description

Prototypes are `representative' cases of a group of data points, given the similarity matrix among the points. They are very similar to medoids. The function is named `classCenter' to avoid conflict with the function prototype in the methods package.

Usage

classCenter(x, label, prox, nNbr = min(table(label))-1)

Arguments

x

a matrix or data frame

label

group labels of the rows in x

prox

the proximity (or similarity) matrix, assumed to be symmetric with 1 on the diagonal and in [0, 1] off the diagonal (the order of row/column must match that of x)

nNbr

number of nearest neighbors used to find the prototypes.

Value

A data frame containing one prototype in each row.

Details

This version only computes one prototype per class. For each case in x, the nNbr nearest neighors are found. Then, for each class, the case that has most neighbors of that class is identified. The prototype for that class is then the medoid of these neighbors (coordinate-wise medians for numerical variables and modes for categorical variables).

This version only computes one prototype per class. In the future more prototypes may be computed (by removing the `neighbors' used, then iterate).

See Also

RRF, MDSplot

Examples

Run this code
# NOT RUN {
data(iris)
iris.rf <- RRF(iris[,-5], iris[,5], prox=TRUE)
iris.p <- classCenter(iris[,-5], iris[,5], iris.rf$prox)
plot(iris[,3], iris[,4], pch=21, xlab=names(iris)[3], ylab=names(iris)[4],
     bg=c("red", "blue", "green")[as.numeric(factor(iris$Species))],
     main="Iris Data with Prototypes")
points(iris.p[,3], iris.p[,4], pch=21, cex=2, bg=c("red", "blue", "green"))
# }

Run the code above in your browser using DataLab