R: Computes the extended Gower distance of two data sets

gowerD {VIM} | R Documentation

## Computes the extended Gower distance of two data sets

### Description

The function gowerD is used by kNN to compute the distances for numerical, factor ordered and semi-continous variables.

### Usage

    gowerD(
      data.x,
      data.y = data.x,
      weights = rep(1, ncol(data.x)),
      numerical = colnames(data.x),
      factors = vector(),
      orders = vector(),
      mixed = vector(),
      levOrders = vector(),
      mixed.constant = rep(0, length(mixed)),
      returnIndex = FALSE,
      nMin = 1L,
      returnMin = FALSE
    )

### Arguments

`data.x` | data frame
`data.y` | data frame
`weights` | numeric vector providing weights for the observations in x
`numerical` | names of numerical variables
`factors` | names of factor variables
`orders` | names of ordered variables
`mixed` | names of mixed variables
`levOrders` | vector with number of levels for each orders variable
`mixed.constant` | vector with length equal to the number of semi-continuous variables specifying the point of the semi-continuous distribution with non-zero probability
`returnIndex` | logical if TRUE return the index of the minimum distance
`nMin` | integer number of values with smallest distance to be returned
`returnMin` | logical if the computed distances for the indices should be returned

### Details

returnIndex=FALSE: a numerical matrix n x m with the computed distances returnIndex=TRUE: a named list with "ind" containing the requested indices and "mins" the computed distances

### Examples

    data(sleep)
    # all variables used as numerical
    gowerD(sleep)

    # split in numerical an
    gowerD(sleep, numerical = c("BodyWgt", "BrainWgt", "NonD", "Dream", "Sleep", "Span", "Gest"),
      orders = c("Pred","Exp","Danger"), levOrders = c(5,5,5))

    # as before but only returning the index of the closest observation
    gowerD(sleep, numerical = c("BodyWgt", "BrainWgt", "NonD", "Dream", "Sleep", "Span", "Gest"),
      orders = c("Pred","Exp","Danger"), levOrders = c(5,5,5), returnIndex = TRUE)

[Package VIM version 6.0.0 Index]