Giter Site home page Giter Site logo

sabre's Introduction

sabre

CRAN status Build Status codecov CRAN RStudio mirror downloads

The sabre (Spatial Association Between REgionalizations) is an R package for calculating a degree of spatial association between regionalizations or categorical maps. This package offers support for sf spatial objects, and the following methods:

  • the V-measure method (Nowosad and Stepinski, 2018)
  • the MapCurve method (Hargrove et al., 2006)

Installation

You can install the released version of sabre from CRAN with:

install.packages("sabre")

You can install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("Nowosad/sabre")

Example

We use two simple regionalization, regions1 and regions2 to show the basic concept of calculating a degree of spatial association.

library(sabre)
library(sf)
data("regions1")
data("regions2")

The first map, regions1 consists of four regions of the same shape and size, while the second one, regions2 has three irregular regions.

The vmeasure_calc() function allows for calculation of a degree of spatial association between regionalizations or categorical maps using the information-theoretical V-measure. It requires, at least, four arguments:

  • x - an sf object containing the first regionalization
  • x_name - a name of the column with regions names of the first regionalization
  • y - an sf object containing the second regionalization
  • y_name - a name of the column with regions names of the second regionalization
regions_vm = vmeasure_calc(regions1, z, regions2, z)

The result is a list with three metrics of spatial association - V-measure, Homogeneity, Completeness - and two sf objects with preprocessed input maps - $map1 and $map2.

regions_vm
#> The SABRE results:
#> 
#>  V-measure: 0.36 
#>  Homogeneity: 0.32 
#>  Completeness: 0.42 
#> 
#>  The spatial objects could be retrived with:
#>  $map1 - the first map
#>  $map2 - the second map

Both spatial outputs have two columns. The first one contains regions’ names/values and the second one (rih) describes regions’ inhomogeneities.

plot(regions_vm$map1["rih"], main = "Map1: rih")
plot(regions_vm$map2["rih"], main = "Map2: rih")

More examples can be found in the package vignette.

Additionally, examples presented in the Spatial association between regionalizations using the information-theoretical V-measure article could be reproduced using data available at http://sil.uc.edu/cms/index.php?id=data-1#vmeasure.

References

  • Nowosad, Jakub, and Tomasz Stepinski. “Spatial association between regionalizations using the information-theoretical V-measure”. http://doi.org/10.17605/OSF.IO/RCJH7
  • Rosenberg, Andrew, and Julia Hirschberg. “V-measure: A conditional entropy-based external cluster evaluation measure.” Proceedings of the 2007 joint conference on empirical methods in natural language processing and computational natural language learning (EMNLP-CoNLL). 2007.
  • Hargrove, William W., Forrest M. Hoffman, and Paul F. Hessburg. “Mapcurves: a quantitative method for comparing categorical maps.” Journal of Geographical Systems 8.2 (2006): 187.

sabre's People

Contributors

nowosad avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.