Nothing
#####################################################################################
## Author: Daniel Sabanes Bove [daniel *.* sabanesbove *a*t* campus *.* lmu *.* de]
## Project: BayesX
## Time-stamp: <[nbAndGraConversion.R] by DSB Son 22/02/2009 19:10 (CET) on daniel@puc-home>
##
## Description:
## Convert an nb object (neighborhood structure) from package spdep to the graph format
## required by BayesX, and vice versa.
##
## History:
## 19/02/2009 file creation: first version (without optional weights, as weights
## are not considered in read/write.gra)
## 22/02/2009 remove spdep dependence
#####################################################################################
nb2gra <- function(nbObject)
{
## check if S3 class of nbObject is "nb"
stopifnot(inherits(x=nbObject,
what="nb"))
## convert to (negative) binary neighbors matrix
regionIds <- attr(nbObject, "region.id")
ret <- matrix(data=0,
nrow=length(regionIds),
ncol=length(regionIds),
dimnames=
list(regionIds,
regionIds))
for(i in seq_along(nbObject))
{
ret[i, nbObject[[i]]] <- - 1
}
## and to gra format
diag(ret) <- - rowSums(ret)
class(ret) <- "gra"
return(ret)
}
gra2nb <- function(graObject)
{
## check if S3 class of nbObject is "gra"
stopifnot(inherits(x=graObject,
what="gra"))
## save region names and delete them
## (so that the list below will not have names attached)
regionNames <- rownames(graObject)
dimnames(graObject) <- NULL
## make list of neighbors
ret <- apply(graObject,
MARGIN=1,
FUN=function(row) which(row == -1))
## attach necessary attributes
ret <- structure(ret,
class="nb",
region.id=regionNames,
call=match.call(),
type="queen",
sym=TRUE)
## and return the nb object
return(ret)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.