Gera matriz de distâncias

get.dists(
  InvObj,
  var_names,
  data,
  coords,
  newdata,
  what = c("centroid", "edge"),
  ...
)

Arguments

InvObj

Objeto da classe Inv ou herdeiras.

var_names

Ou vetor de caracteres contendo o nome das variáveis de interesse, ou vetor numérico com os índices das colunas das variáveis de interesse.

data

Objeto da classe data.frame.

coords

Ou vetor de caracteres contendo o nome das colunas das coordenadas X e Y (métricas). Ou vetor numérico contendo os índices das colunas das coordenadas.

newdata

Objeto da classe sf contendo novos dados para predição. Veja detalhes.

what

Caractere contendo o ponto de cálculo de distância, do centróide ("centroid") do objeto, ou da sua borda ("edge"). O argumento aceita parciais.

...

Demais argumentos passados à função bmatrix.

Value

Retorna uma matriz em blocos da classe bmatrix.

Details

A função gera uma matriz de distâncias dos dados observados a partir das variáveis desejadas. Idealmente construída para objetos da classe InvObj que possuam objeto espacializar.R

A função foi desenhada para gerar a base da matriz de covariâncias de modelos espaciais multivariados. Portanto ao informar pelo menos duas variáveis em var_names, será gerada uma matriz de distâncias de 2x2 blocos de matrizes.

Se a base de dados informada em InvObj ou data possuir dados co-locados, i.e., o mesmo ponto possui observação de mais de uma variável, então esse ponto será 'duplicado' na matriz de distâncias, pois para fins de geoestatística são dois pontos amostrais diferentes.

Se InvObj for informado, então tal objeto deve obrigatoriamente possuir um objeto espacial associado. Um erro será lançado caso não possua, e pode ser corrigido utilizando espacializar() para gerar um objeto espacial. As coordenadas das observações serão obtidas a partir do objeto espacial contido em InvObj.

Caso InvObj não seja informado, então obrigatoriamente data deve ser informado, e as coordenadas serão obtidas a partir das colunas informadas em coords. Veja que coords devem estar contidas nas colunas de data. Se tanto data quanto InvObj forem informados, será utilizado InvObj e data será ignorado.

Caso newdata seja informado, esse deve ser da classe sf ou sfc, e deve ter mesmo sistema de coordenadas de InvObj, caso esse seja informado. A função tenta transformar automaticamente caso não tenham mesmo sistema de coordenadas. Veja que caso newdata seja informado, então a matriz de distâncias terá as observações de InvObj ocupando a posição das linhas da matriz, enquanto newdata ocupará as posições de colunas.

Se newdata for utilizado juntamente com data e coords, então esses últimos serão transformados em objeto espacial de mesmo sistema de coordenadas de newdata para os cálculos de distâncias. Os pontos de newdata serão utilizados para todas as variáveis passadas em var_names.

O argumento what indica se as distâncias são tomadas dos centróides das feições ou das bordas. O padrão é do centróide.

O retorno da função é um objeto da classe bmatrix, isto é, uma matriz montada em blocos. A ordem e número de blocos depende da ordem de variáveis passadas em var_names. Por exemplo, se forem passadas três variáveis com 100 observações cada, então a matriz de retorno seria composta por 3x3 blocos de dimensão 100x100 cada, representando uma matriz completa de tamanho 300x300. Para fins de otimização, por padrão a matriz resultante é em vez disso a respectiva matriz triangular inferior, uma vez que a matriz resultante é simétrica.

Author

Gabriel Agostini Orso