# unit.distances: SOM-grid related functions In missSOM: Self-Organizing Maps with Built-in Missing Data Imputation

 somgrid R Documentation

## 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` dimensions of the grid. `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

```mygrid <- somgrid(5, 5, "hexagonal")
fakesom <- list(grid = mygrid)
class(fakesom) <- "missSOM"

oldpar <- 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)
par(oldpar)

```

missSOM documentation built on May 5, 2022, 9:06 a.m.