compute_odmatrix: Compute od matrix for different entities (individuals,...

View source: R/compute_odmatrix.R

compute_odmatrixR Documentation

Compute od matrix for different entities (individuals, devices...).

Description

Compute od matrix for different entities (individuals, devices...).

Usage

compute_odmatrix(individuals.sf, what, by)

Arguments

individuals.sf

sf object with data about the individuals.

what

character vector denoting what entity to compute. Possible values are 'individuals', 'individuals_dev0', 'individuals_dev1', 'individuals_dev2' , 'devices'.

by

character vector denoting the variable names to group the computation.

Details

Return a data.table with the origin-destination matrices by group. Notice that missing count values in the by variables are not included in the final data.table, i.e. amounting to implicit zero values.

Examples

filename_map <- c(
  xml = system.file("extdata/input_files", "map.xml", package = "simutils"),
  xsd = ""
)

filename_network <- c(
  csv = system.file("extdata/output_files/antennas.csv", package = "simutils"),
  xml = system.file("extdata/metadata/output_files/antennas_dict.xml", package = "simutils")
)

filename_signal <- c(
  csv = system.file("extdata/output_files/SignalMeasure_MNO1.csv", package = "simutils"),
  xml = system.file("extdata/metadata/output_files/SignalMeasure_dict.xml", package = "simutils")
)

filename_coverage <- c(
  csv = system.file("extdata/output_files", "AntennaCells_MNO1.csv", package = "simutils"),
  xml = system.file("extdata/metadata/output_files/AntennaCells_dict.xml", package = "simutils")
)

filename_events <- c(
  csv = system.file("extdata/output_files/AntennaInfo_MNO_MNO1.csv", package = "simutils"),
  xml = system.file("extdata/metadata/output_files/events_dict.xml", package = "simutils")
)

filename_grid <- c(
  csv = system.file("extdata/output_files/grid.csv", package = "simutils"),
  xml = system.file("extdata/metadata/output_files/grid_dict.xml", package = "simutils")
)

filename_individ <- c(
  csv = system.file("extdata/output_files/persons.csv", package = "simutils"),
  xml = system.file("extdata/metadata/output_files/persons_dict.xml", package = "simutils")
)

filenames <- list(
  map                = filename_map,
  network_parameters = filename_network,
  signal             = filename_signal,
  events             = filename_events,
  coverage_cells     = filename_coverage,
  grid               = filename_grid,
  individuals        = filename_individ
)

simData <- simutils::read_simData(filenames, crs = 2062)
# Counting individuals by subregion and time
compute_odmatrix(simData$individuals, "individuals", by = c("t", "Subregion_long"))

# Counting individuals by subregion and time with 0 devices
compute_odmatrix(simData$individuals, "individuals_dev0", by = c("t", "Subregion_long"))

# Counting individuals by subregion and time with 1 device
compute_odmatrix(simData$individuals, "individuals_dev1", by = c("t", "Subregion_long"))

# Counting individuals by subregion and time with 2 devices
compute_odmatrix(simData$individuals, "individuals_dev2", by = c("t", "Subregion_long"))

# Counting devices by subregion and time
compute_odmatrix(simData$individuals, "devices", by = c("t", "Subregion_long"))

# Counting multiple totals by subregion and time
totals <- c("individuals", "individuals_dev0", "devices")
compute_odmatrix(simData$individuals, totals, by = c("t", "Subregion_long"))


bogdanoancea/simutils documentation built on April 4, 2022, 2:58 p.m.