Learn R Programming

kohonen (version 3.0.10)

unit.distances: SOM-grid related functions

Description

Function somgrid (modified from the version in the class package) sets up a grid of units, of a specified size and topology. Distances between grid units are calculated by function unit.distances.

Usage

somgrid(xdim = 8, ydim = 6, topo = c("rectangular", "hexagonal"),
        neighbourhood.fct = c("bubble", "gaussian"), toroidal = FALSE)
unit.distances(grid, toroidal)

Arguments

xdim, ydim

dimensions of the grid.

topo

choose between a hexagonal or rectangular topology.

neighbourhood.fct

choose between bubble and gaussian neighbourhoods when training a SOM.

toroidal

logical, whether the grid is toroidal or not. If not provided to the unit.distances function, the information in the grid object will be used.

grid

an object of class somgrid.

Value

Function somgrid returns an object of class "somgrid", with elements pts, and the input arguments to the function.

Function unit.distances returns a (symmetrical) matrix containing distances. When grid$n.hood equals "circular", Euclidean distances are used; for grid$n.hood is "square" maximum distances. For toroidal maps (joined at the edges) distances are calculated for the shortest path.

Examples

Run this code
# NOT RUN {
mygrid <- somgrid(5, 5, "hexagonal")
fakesom <- list(grid = mygrid)
class(fakesom) <- "kohonen"

par(mfrow = c(2,1))
dists <- unit.distances(mygrid)
plot(fakesom, type="property", property = dists[1,],
     main="Distances to unit 1", zlim=c(0,6),
     palette = rainbow, ncolors = 7)

dists <- unit.distances(mygrid, toroidal=TRUE)
plot(fakesom, type="property", property = dists[1,],
     main="Distances to unit 1 (toroidal)", zlim=c(0,6),
     palette = rainbow, ncolors = 7)
# }

Run the code above in your browser using DataLab