[R-br] Como achar vizinhos

walmes . walmeszeviani em gmail.com
Quarta Julho 9 12:21:26 BRT 2014


Eu acredito que deva ter um comando que faça isso porque é uma espécie de
média móvel cuja janela é a vizinhança. Aqui vai minha sugestão.

## Matriz que representa uma vizinhança em forma de grid. O valor na
## cédula é o número de eventos no setor.
x <- matrix(rpois(25, l=10), 5, 5)

## Vizinhança de nível. As coordenadas dos vizinhos do setor [2,2].
viz <- 1
i <- 2; j <- 2
outer((i-viz):(i+viz), (j-viz):(j+viz), paste)

## Matriz acrescida de borda com NA para evitar problema ao passar pelos
## setores de borda.
xB <- cbind(NA, rbind(NA, x, NA), NA)

## Aplicando a soma.
sum(xB[-viz:viz+i, -viz:viz+j], na.rm=TRUE)

## Aplicando à todos os índices.
S <- x
for(i in 1:nrow(x)){
    for(j in 1:ncol(x)){
        S[i,j] <- sum(xB[-viz:viz+i, -viz:viz+j], na.rm=TRUE)
    }
}

## Resultado.
S

À disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140709/ad5a32e9/attachment.html>


Mais detalhes sobre a lista de discussão R-br