klaR (version 0.6-12)

shardsplot: Plotting Eight Direction Arranged Maps or Self-Organizing Maps

Description

Plotting method for objects of class EDAM or som.

Usage

shardsplot(object, plot.type = c("eight", "four", "points", "n"), expand = 1, stck = TRUE, grd = FALSE, standardize = FALSE, data.or = NA, label = FALSE, plot = TRUE, classes = 0, vertices = TRUE, classcolors = "rainbow", wghts = 0, xlab = "Dimension 1", ylab = "Dimension 2", xaxs = "i", yaxs = "i", plot.data.column = NA, log.classes = FALSE, revert.colors = FALSE, ...)
level_shardsplot(object, par.names, rows = 1:NCOL(object$data), centers = rep(NA, length(par.names)), class.labels = NA, revert.colors = rep(FALSE, length(par.names)), log.classes = rep(FALSE, length(par.names)), centeredcolors = colorRamp(c("red", "white", "blue")), mfrow = c(2, 2), plot.type = c("eight", "four", "points", "n"), expand = 1, stck = TRUE, grd = FALSE, standardize = FALSE, label = FALSE, plot = TRUE, vertices = TRUE, classcolors = "topo", wghts = 0, xlab = "Dimension 1", ylab = "Dimension 2", xaxs = "i", yaxs = "i", ...)
"plot"(...)

Arguments

object
an object of class EDAM or som.
par.names
names used to lable the data columns
rows
vector with indices of colomns to be plotted
centers
vector of type numeric defining the class centers for the data. NA if data does not have a center.
class.labels
matrix of type text and dimension(3, NROW(object$data)) defining the lables to be used for maximum, minimum and central value.
centeredcolors
colors to represent the classes with a central value
mfrow
parameter defining number of plots on a page. see par
plot.type
a character giving the shape of the shards. Available are “eight” and “four” for octagons resp. rectangles, and “points” for points. If plot.type is “n”, no shards are plotted at all.
expand
a numeric giving the relative expansion of the axes. A value greater than one implies smaller shards. Varying expand can be sensible for visual reasons.
stck
logical. If TRUE the cells are varied continously corresponding to the differences of direct neighbors in the origin space. Within this variation the relative order of the cells is always preserved.
grd
logical. If TRUE (which automatically sets stck to TRUE), the variation of cells is restricted to their original discrete values.
standardize
logical. If TRUE, then the measurements in object$preimages are standardized before calculating Euclidean distances. Measurements are standardized for each variable by dividing by the variable's standard deviation. Meaningless if object$preimages is a dissimilarity matrix.
data.or
original data and classes where the first k columns are variables and the (k+1)-th column are the classes. If defined and class of object is som, data.or is used to assign a class to each codebook. There a codebook receives the class, from which the majority of its assigned objects origins.
label
logical. If TRUE, the shards are labeled by the rownames of the preimages.
plot
logical. If FALSE, all graphical output is suppressed.
classes
a vector giving alternative classes for objects of class EDAM; classes have to be given in the original order of the data to which EDAM was applied.
vertices
logical. If TRUE the grid is drawn.
classcolors
colors to represent the classes, or a character giving the colorscale for the classes. Since now available scales are rainbow, topo and gray.
wghts
an optional vector of length k giving relative weights of the variables in computing Euclidean distances. Meaningless if object$preimages is a dissimilarity matrix.
xaxs
see par
yaxs
see par
xlab
see par
ylab
see par
...
further plotting parameters.
plot.data.column
column index defining from data.or providing the data used to calculate the coloring of the cells.
log.classes
boolean indicating that the data should be transformed with the logarithmic function before calculating the cell coloring
revert.colors
boolean indicating that the colorscale should be reverted.

Value

The following list is (invisibly) returned:
Cells.ex
the images of the visualized data
S
the criterion of the visualization

Details

level_shardsplot uses multiple shardsplot representations of a SOM in order to depict how the data used to calculate the SOM is distribution across the map. Two representations are possible for the data, first with a single color ramp from the minimum value to the maximum value. The second representation is usefull for data for which a basic value exists some where between minimum and maximum for which a special color representation should be used (e.g. 0 is indicated with white).

If plot.type is “four” or “eight”, the shape of each shard depends on the relative distances of the actual object or codebook to its up to eight neighbours. If plot.type is “eight”, shardsplot corresponds to the representation method suggested by Cottrell and de Bodt (1996) for Kohonen Self-Organizing Maps. If plot.type is “points”, shardsplot reduces to a usual scatter plot.

References

Cottrell, M., and de Bodt, E. (1996). A Kohonen Map Representation to Avoid Misleading Interpretations. Proceedings of the European Symposium on Atrificial Neural Networks, D-Facto, pp. 103--110.

See Also

EDAM, TopoS, som

Examples

Run this code
# Compute clusters and an Eight Directions Arranged Map for the 
# country data. Plotting the result.
data(countries)
logcount <- log(countries[,2:7])
sdlogcount <- apply(logcount, 2, sd)
logstand <- t((t(logcount) / sdlogcount) * c(1,2,6,5,5,3))
cclasses <- cutree(hclust(dist(logstand)), k = 6)
countryEDAM <- EDAM(logstand, classes = cclasses, sa = FALSE, 
    iter.max = 10, random = FALSE)
plot(countryEDAM, vertices = FALSE, label = TRUE, stck = FALSE)

# Compute and plot a Self-Organizing Map for the iris data
data(iris)
library(som)
irissom <- som(iris[,1:4], xdim = 6, ydim = 14)
shardsplot(irissom, data.or = iris, vertices = FALSE)
opar <- par(xpd = NA)
legend(7.5, 6.1, col = rainbow(3), xjust = 0.5, yjust = 0,
    legend = levels(iris[, 5]), pch = 16, horiz = TRUE)
par(opar)    

level_shardsplot(irissom, par.names = names(iris), 
    class.labels = NA, mfrow = c(2,2))

Run the code above in your browser using DataCamp Workspace