R/create-spatial-neighbours.R
CreateSpatialNeighbours.Rd
This helper function formats the LinksPair datasets so it can be used in some types of spatial analyses. The spdep (Spatial Dependence) uses a sparse matrix (actually a base::data.frame) to represent neighbours.
CreateSpatialNeighbours(linksPairsDoubleEntered)
linksPairsDoubleEntered | A base::data.frame containing the links, preferably created by a function like |
---|
An S3 spdep::spatial.neighbours
object to work with functions in the spdep package.
SubjectTag_S1
is renamed 'from
'.
SubjectTag_S2
is renamed 'to
'.
R
is renamed 'weight
'.
The attribute region.id
specifies each unique SubjectTag.
The attribute n
specifies the number of unique subjects.
There is one row per unique pair of subjects, respecting order. This has twice as many rows as Links79Pair and Links79PairExpanded (which have one row per unique pair of subjects, irrespective of order).
CreateSpatialNeighbours()
accepts any paired relationships in a base::data.frame, as long as it contains the columns SubjectTag_S1
, SubjectTag_S2
, and R
. See Links79Pair for more details about these columns.
Notice the British variant of 'neighbours' is used, to be consistent with the spdep::spatial.neighbour
class.
Bard, D.E., Beasley, W.H., Meredith, K., & Rodgers, J.L. (2012). Biometric Analysis of Complex NLSY Pedigrees: Introducing a Conditional Autoregressive Biometric (CARB) Mixed Model. Behavior Genetics Association 42nd Annual Meeting. Slides.
Bivand, R., Pebesma, E., & Gomez-Rubio, V. (2013). Applied Spatial Data Analysis with R. New York: Springer. (Especially Chapter 9.)
Banerjee, S., Carlin, B.P., & Gelfand, A.E. (2004). Hierarchical Modeling and Analysis for Spatial Data. Boca Raton: CRC Press.
Lawson, A.B (2013). Bayesian Disease Mapping: Hierarchical Modeling in Spatial Epidemiology, Second Edition. Boca Raton: CRC Press.
The spdep package documentation: spdep: Spatial dependence: weighting schemes, statistics and models.
Will Beasley and David Bard
dsLinksAll <- Links79Pair dsLinksGen1Housemates <- dsLinksAll[dsLinksAll$RelationshipPath=="Gen1Housemates", ] dsLinksGen2Siblings <- dsLinksAll[dsLinksAll$RelationshipPath=="Gen2Siblings", ] spGen1 <- CreateSpatialNeighbours(dsLinksGen1Housemates) spGen2 <- CreateSpatialNeighbours(dsLinksGen2Siblings) head(spGen2)#> from to weight #> 3 201 202 0.50 #> 10 301 302 0.50 #> 11 301 303 0.50 #> 15 302 303 0.50 #> 24 401 403 0.25 #> 29 801 802 0.50#Returns: # from to weight # 3 201 202 0.50 # 6 301 302 0.50 # 7 301 303 0.50 # 9 302 303 0.50 #24 401 403 0.25 #28 801 802 0.50 table(spGen2$weight)#> #> 0.25 0.375 0.5 0.75 1 #> 3448 622 7004 13 27#Returns: #0.25 0.375 0.5 0.75 1 #3442 610 6997 12 27