Take-home 2 - Applied Spatial Interaction Models: A case study of Singapore public bus commuter flows

Author

Muhamad Ameer Noor

Published

December 15, 2023

Modified

December 18, 2023

Illustration

1 Overview

Understanding why city residents wake up early to travel from home to work and assessing the consequences of discontinuing a public bus service along a specific route are key challenges faced by transport operators and urban managers in the realm of urban mobility. Traditionally, answering such questions relied on expensive, time-consuming commuter surveys. However, these surveys not only demanded considerable resources but also yielded data that took a substantial amount of time to clean and analyze, often rendering it outdated by the time reports were ready.

In today’s digital era, urban infrastructures, including public buses and mass rapid transits, are becoming increasingly digital. The proliferation of technologies like GPS on vehicles and SMART cards for public transport users generates vast geospatial data sets, offering insights into movement patterns over time and space. Despite this wealth of data, planners struggle to effectively leverage and transform it into valuable information, impacting the return on investment in data collection and management.

To address this gap, this exercise conducts a case study showcasing the potential of Geographic Information System and Spatial Data Analysis (GDSA). By integrating data from various sources, this approach aims to build spatial interaction models that unveil the factors influencing urban mobility patterns in the context of public bus transit.

This task aims to achieve specific goals, focusing on General Geospatial Data Science and Spatial Interaction Modeling.

For the General Geospatial Data Science, the aim is to do the following: - Create a detailed hexagon map (375m distance from center to edges) representing Traffic Analysis Zones (TAZ). - Various time will have different pattern of traffic flow. For this study, the focus is on the period of weekday morning peak from 6am to 9am. - Develop an Origin-Destination (O-D) matrix illustrating commuter flows during the chosen time interval. - Visualize passenger trip flows using geospatial methods, analyzing the observed spatial patterns. - Gather relevant data, both spatial and aspatial, from publicly available sources. - Generate a distance matrix based on the earlier derived hexagon data.

Studies have found that people are usually willing to walk approximately 750 meters to get to public transportation. A more specific comfortable walking distance that takes into account the local weather and how cities are laid out.

When planning city maps and deciding where to place public transport stops, we use hexagons to represent areas on the map. Why hexagons? They fit together perfectly without wasting any space, which makes them great for dividing the map into zones. To match the 750-meter walking distance, each hexagon is sized so that the distance from the center to any edge is half that distance, which is 375 meters. This ensures that anyone within the hexagon is no more than a 750-meter walk away from the center, where a public transport stop would be ideally located. This method is a smart way to make sure that everyone has easy access to transport within a reasonable walking distance.

summarized from: Daniels & Mulley, Dhuri, Sekste & Kazakov, and in-class explanation from Prof Kam Tin Seong

A Traffic Analysis Zone (TAZ) is a way of dividing a city into smaller areas for transportation planning. Each TAZ has some information about the people and places in it, such as how many people live there, how many cars they have, and where they work or go to school. These information help planners understand how people travel and what kind of transportation they need.

Some key points about TAZs are:

  • The size and shape of a TAZ can vary depending on the location and the purpose of the study. For example, a TAZ in a downtown area might be smaller and more regular than a TAZ in a rural area.

  • The choice of a TAZ system is very important because it affects the accuracy and usefulness of the transportation models. A good TAZ system should reflect the reality of the travel patterns and demands in the city.

  • AZs are not fixed and can be changed or updated over time to reflect new data or changes in the city. However, changing TAZs can also cause some problems, such as losing historical data or making comparisons difficult.

Summarized from: Miller, 2021

An Origin-Destination (O-D) matrix is a way of showing how many trips are made from one place to another in a given area. For example, an O-D matrix can tell us how many people travel from their home to their work, or from their hotel to a tourist attraction, or from one city to another. An O-D matrix can help us understand the travel patterns and demands of people, and plan for better transportation systems.

An O-D matrix usually looks like a table, where the rows represent the origins (where the trips start) and the columns represent the destinations (where the trips end). Each cell in the table shows the number of trips between a specific origin and destination. Sometimes, the table can also include other information, such as the mode of transportation (car, bus, bike, etc.), the time of the day, or the purpose of the trip.

Here is an example of a simple O-D matrix for a city with four zones (A, B, C, and D):

A B C D Total
A 0 10 5 15 30
B 20 0 10 10 40
C 10 15 0 5 30
D 5 5 5 0 15
Total 35 30 20 30 115

This table tells us that there are 115 trips in total in the city, and that the most common origin-destination pair is A-D, with 15 trips. It also tells us that no one travels within the same zone (the diagonal cells are zero).

An O-D matrix can be created from different sources of data, such as surveys, GPS, mobile phones, or social media. Depending on the data source, the level of detail and accuracy of the O-D matrix can vary. For example, a survey might ask people to report their exact home and work locations, while a GPS device might only record the coordinates of the start and end points of a trip. Therefore, different methods and techniques are needed to process and analyze the data, and to convert them into a meaningful O-D matrix.

Summarized From: Coşkun, et al., 2020

Trip flows are the movements of people or things from one place to another in a given area. For example, trip flows can show how many people travel from their home to their work, or from one city to another, or from one country to another. Trip flows can help us understand the patterns and reasons of these movements, and how they affect the environment, the economy, and the society.

Summarized from: Tao Ran, 2021

Spatial data is data that has a geographic or spatial component, meaning that it is related to a specific location on the Earth’s surface. For example, the coordinates of a city, the shape of a lake, or the population density of a region are all spatial data. Spatial data can be represented using maps, graphs, or statistics, and can be analyzed using Geographic Information Systems (GIS).

Aspatial data is data that does not have a direct connection to a specific location. For example, the name of a person, the color of a car, or the price of a product are all aspatial data. Aspatial data can be represented using tables, charts, or text, and can be analyzed using various methods such as arithmetic, logic, or statistics.

The main difference between spatial and aspatial data is that spatial data can show the spatial relationships and patterns of the data, such as distance, direction, or proximity, while aspatial data cannot. Spatial data can also be combined with aspatial data to provide more information and insights. For example, a map of a city can show both the spatial data (the location and shape of the buildings) and the aspatial data (the name and use of the buildings).

Summarized from: Cengel

A distance matrix is a way of showing how far away different places are from each other in a given area. For example, a distance matrix can tell us how many kilometers or minutes it takes to travel from one city to another by car, bus, or bike. Applying geospatial analytics on distance matrix can help us understand the patterns and reasons of these movements, and how they affect the environment, the economy, and the society. dive deeper at (ArcGIS)[https://pro.arcgis.com/en/pro-app/latest/tool-reference/spatial-analyst/distance-analysis.htm]

For the General Spatial Interaction Model, the aim is to do the following:

  • Adjust spatial interaction models to identify factors influencing urban commuting during the specified time.

  • Present modeling results using suitable geovisualization and graphical methods.

  • Interpret the outcomes to gain insights into the factors impacting commuting flows in the urban landscape during the selected time frame.

A spatial interaction model is a way of describing how people or things move from one place to another in a given area. For example, a spatial interaction model can show how many people commute from their home to their work, or how many goods are traded between different cities or countries. A spatial interaction model can help us understand the patterns and reasons of these movements, and how they affect the environment, the economy, and the society.

One of the most common spatial interaction models is the gravity model, which is based on an analogy to the physical law of gravity. The gravity model assumes that the movement between two places is proportional to their size (such as population or income) and inversely proportional to their distance. The gravity model can be written as:

\[T_{ij} = k \frac{v_i^{\lambda} w_j^{\alpha}}{d_{ij}^{\beta}}\]

where \(T_{ij}\) is the movement from place \(i\) to place \(j\), \(v_i\) is the propulsiveness factor from the origin(\(i\)) place,\(w_j\) is the attractiveness factor from the destination (\(j\)), and \(d_{ij}\) is the distance between the two places. \(k\) is a constant model parameter, while \(\lambda\), \(\alpha\), and \(\beta\) are parameters that measures the effect of their respective variables.

There are other types of spatial interaction models, such as the potential model and retail model, which have different assumptions and formulations. These models can be used to explain different kinds of movements, such as migration, tourism, or disease spread.

References: Kam Tin Seong and Spatial interaction models with R

The spatial interaction models being used in this task are the variants of Gravity Model including Unconstrained, Origin Constrained, Destination Constrained, and Doubly Constraint. The models’ performance will be compared to see which one is more appropriate to use in the modelling.

The Unconstrained Gravity Model is a simple form of the gravity model where the principle of conservation is ignored. This means that the interaction between two locations is not limited by the total number of interactions at the origin or destination. In this model, the interaction between two locations is a constant scaling factor, independent of all origins and destinations.

The Origin/Production Constrained Gravity Model, also known as the production constrained model, includes origin-specific balancing factors that act as constraints. These constraints ensure that the estimated rows of the flow data matrix sum to the observed row totals. In other words, the total number of interactions originating from a location is fixed, and the model distributes these interactions across various destinations.

The Destination/Attraction Constrained Gravity Model, also known as the attraction constrained model, includes destination-specific balancing factors that act as constraints. These constraints ensure that the estimated columns of the flow data matrix sum to the observed column totals. This means that the total number of interactions attracted to a location is fixed, and the model distributes these interactions across various origins.

The Doubly Constrained Gravity Model includes both origin and destination-specific balancing factors that act as constraints. These constraints ensure that the estimated rows and columns of the flow data matrix sum to the observed row and column totals. In other words, both the total number of interactions originating from a location and attracted to a location are fixed.

To dive deeper on these models, explanation can be found on research by Haynes & Fotheringham, 1985 and class materials by Prof Kam Tin Seong

the content of the following panel explained what aspatial and geospatial data are used in this project.

  • October 2023 Period

  • downloaded from LTA DataMall - Dynamic Dataset via API

  • csv format.

  • Columns/Fields in the dataset includes YEAR_MONTH, DAY_TYPE, TIME_PER_HOUR, PT_TYPE, ORIGIN_PT_CODE, DESTINATION_PT_CODE, and TOTAL_TRIPS.

  • YEAR_MONTH: Represent year and Month in which the data is collected. Since it is a monthly data frame, only one unique value exist in each data frame.

  • DAY_TYPE: Represent type of the day which classified as weekdays or weekends/holidays.

  • TIME_PER_HOUR: Hour which the passenger trip is based on, in intervals from 0 to 23 hours.

  • PT_TYPE: Type of public transport, Since it is bus data sets, only one unique value exist in each data frame (i.e. bus)

  • ORIGIN_PT_CODE: ID of origin bus stop

  • DESTINATION_PT_CODE: ID of destination bus stop

  • TOTAL_TRIPS: Number of trips which represent passenger volumes

  1. Click this link, and click the Request for API Access

  2. Fill in the required form

  3. Check email for confirmation. The API Account Key will be required for later step.

  4. The user guide from LTA here will explains how to make API calls. The user guide also provide the link required for various kind of dataset, keep the link for future use.

  5. The following step assume usage of desktop apps version of Postman to make the API call. Firstly, go to Postman and click on the logo of the OS system that you are using.

  6. The following step is for Windows User, adjust accordingly if you use other OS. Click on the dowload button, install the apps, and launch it.

  7. In the apps, copy-paste the url from step 4, and make sure that the option is set to GET. In this case where the data is monthly, you need to add a parameter of the month data that you want to download in the format of YYYYMM (202308 shown in the example). The parameter is under Params section.

  8. Next, go to Headers section and add AccountKey which value can be obtained from step 3. Click the blue Send button.

  9. Click the link that will come out on the bottom of the apps, it will be opened in a new tab.

  10. In this last step, click Send and Download in the new tab. You can choose where to put the data and the download will start.

The dataset contains comprehensive information about various Housing and Development Board (HDB) blocks situated in Singapore. The dataset not only includes details on the number and types of dwelling units but also crucially provides the geographic coordinates, specifically the longitudes and latitudes, corresponding to each HDB block. This geographical information opens the door to transforming the dataset into a spatial data frame, enabling us to treat the HDB block details as a spatial object. By leveraging these coordinates, we can engage in spatial analysis and visualization, gaining valuable insights into the spatial distribution and relationships among different HDB blocks across Singapore. This spatial perspective enhances the depth of understanding and opens avenues for exploring the geographical patterns inherent in the HDB block dataset. The original dataset can be downloaded from Singapore’s National Open Data Collection. However, the original dataset does not contain geoidentifier. The geoidentifier in the HDB dataset that is used here was provided by Prof Kam Tin Seong.

The School Directory and Information dataset, sourced from Singapore’s National Open Data Collection, provides valuable information pertinent to the morning period, notably involving students commuting to school. The dataset encompasses details about the locations, implicitly indicated by the ‘POSTAL_CODE’ field, of MOE kindergartens, primary schools, secondary schools, and junior colleges. Notably, it excludes information on the locations of ITEs, polytechnics, and universities. With a total of 346 records, this dataset serves as a comprehensive resource for understanding the geographical distribution of various educational institutions.

Geospatial data in shp format are used in this project, as shown in the following panel:

  • provides information about all the bus stops currently being serviced by buses, including the bus stop code (identifier) and location coordinates.

  • downloaded from LTA DataMall - Static Dataset

  • Columns/Fields in the dataset includes BUS_STOP_N, BUS_ROOF_N, LOC_DESC, and geometry.

  • BUS_STOP_N: The unique identifier for each bus stop.
  • BUS_ROOF_N: The identifier for the bus route or roof associated with the bus stop.
  • LOC_DESC: Location description providing additional information about the bus stop’s surroundings.
  • geometry: The spatial information representing the location of each bus stop as a point in the SVY21 projected coordinate reference system.
  • Provides information about the sub-zone boundary of Urban Redevelopment Authority (URA) Master Plan 2019 (MPSZ-2019).

  • The original dataset can be downloaded from Singapore’s National Open Data Collection. However, the original dataset have a different file type from the one that is used in this project. The changed file type of the data was provided by Prof Kam Tin Seong.

  • Columns/Fields in the dataset includes SUBZONE_N, SUBZONE_C, PLN_AREA_N, PLN_AREA_C, REGION_N, REGION_C, and geometry

  • While the analysis primarily focuses on hexagon cells, incorporating the Master Planning Sub-Zone 2019 file enables the integration of additional point layers like Retail and Leisure onto the Singapore map. This integration facilitates the visualization of their respective locations within various planning sub-zones across Singapore.

  • SUBZONE_N: The unique name for each subzone boundary.
  • SUBZONE_C: The unique identifier for each subzone boundary.
  • PLN_AREA_N: The unique name for each planning area.
  • PLN_AREA_C: The unique identifier for each planning area
  • REGION_N: The unique name for each region.
  • REGION_C: The unique identifier for each region.
  • geometry: The spatial information representing the location of each subzone boundary in Coordinate Reference System (CRS) from World Geodetic Systems (WGS) 84.

A hexagon layer of 375m (perpendicular distance between the centre of the hexagon and its edges.) Each spatial unit is regular in shape and finer than the Master Plan 2019 Planning Sub-zone GIS data set of URA.

  • Uniform Distances Everywhere: Think of hexagons as honeycomb cells. Each cell (hexagon) touches its neighbors at the same distance from its center. It’s like standing in the middle of a room and being the same distance from every wall, making it easier to measure and compare things.

  • Outlier-Free Shape: Hexagons are like well-rounded polygons without any pointy tips. Sharp corners can create odd spots in data, but hexagons smoothly cover space without sticking out anywhere. This helps prevent weird data spikes that don’t fit the pattern.

  • Consistent Spatial Relationships: Imagine a beehive where every hexagon is surrounded by others in the same pattern. This regular pattern is great for analyzing data because you can expect the same relationships everywhere, making the data predictable and easier to work with.

  • Ideal for Non-Perpendicular Features: Real-world features like rivers and roads twist and turn. Squares can be awkward for mapping these, but hexagons, which are more circular, can follow their flow better. This way, a hexagon-based map can mimic the real world more closely than a checkerboard of squares.

Summarized from: Dhuri, and Sekste & Kazakov.

The following dataset will support as propulsive/attractive factors for the modelling. The data was provided by Prof Kam Tin Seong. The data includes:

  • Business: provide information about business locations across Singapore

  • Rapid Transit System Station: encompasses the geographical positions of Mass Rapid Transit (MRT) and Light Rail Transit (LRT) stations in Singapore, represented as polygon shapes.

  • Train Station Exit Layer: includes exit points for all MRT and LRT stations in Singapore, stored as individual points.

  • Entertainment: highlights the locations of entertainment venues in Singapore, such as cinemas and theaters, presented as points.

  • Food & Beverage: captures the locations of Food & Beverage venues in Singapore, such as restaurants and cafes, organized as points.

  • Financial Services: showcases the locations of Financial Services in Singapore, encompassing ATMs, money changers, and banks, stored as individual points.

  • Leisure & Recreation: denotes the locations of Leisure and Recreation venues in Singapore, spanning sports venues, museums, and galleries, organized as points.

  • Retails: documents the locations of Retail venues in Singapore, encompassing all shops that may not fit into other categories, presented as points.

2 Preparation

Before starting with the analysis, we have to load the library and import the data. This section also contains minor checking and setup of the data.

2.1 Import Library

The following code chunk utilizing pacman will import the required library (and install it if it does not exist in the environment yet).

pacman::p_load(tmap, sf, tidyverse, sfdep, knitr, Hmisc, mapview, DT, sp, stplanr, reshape2, skimr, performance, plotly, httr, corrplot, gifski, patchwork)
  • tmap: Used for creating thematic maps in R, both static and interactive, with extensive mapping capabilities.

  • sf: Handles and manipulates geospatial data, enabling operations like reading, writing, transforming, and visualizing spatial data.

  • tidyverse: A suite of R packages designed for data science tasks, including data manipulation, exploration, and visualization.

  • sfdep: This package provides methods for measuring and diagnosing spatial dependence in linear regression models, particularly when working with spatial econometrics. It is tailored to work with ‘sf’ objects, which are used to handle spatial data in R.

  • knitr: Allows for dynamic report generation with R, making it easy to integrate R code into reports and weave together narrative text and code output.

  • Hmisc: Contains many functions useful for data analysis, high-level graphics, utility operations, and functions for dealing with missing values.

  • mapview: Facilitates the interactive viewing of spatial data in R, built on top of Leaflet.js.

  • DT: Provides an R interface to the JavaScript library DataTables, useful for creating interactive tables in R markdown documents and Shiny apps.

  • sp: Provides classes and methods for spatial data, and has been superseded by sf but is still widely used for compatibility reasons.

  • stplanr: Offers sustainable transport planning tools for spatial lines, networks, and movement data.

  • reshape2: An R package that allows you to flexibly reshape data, such as melting and casting data frames.

  • skimr: Summarizes data in a frictionless way and produces a report with useful summary statistics.

  • performance: Assesses the quality and performance of statistical models, including checks for assumptions.

  • plotly: An R package that creates interactive web graphics using the plotly.js library.

  • httr: Simplifies the process of working with HTTP requests, such as API calls.

  • gifski: Converts images, plots, or animations into high-quality GIFs using the gifski library.

2.2 Data Import and Minor Wrangling

This section will import the required aspatial and geospatial dataset. The process also involves minor data change like setting the correct reference system, and removing duplicates before going to more complex data wrangling in the next section.

Geospatial

the following panel will show how each geospatial dataset is imported, modify the CRS Code to 3414 to standardize, check on the data in general, check for duplicates, and display how the data looks like in Singapore map.

A Coordinate Reference System (CRS) Code is a standardized method for locating and describing positions on the Earth’s surface. It helps define how geographic data is represented in maps and digital systems.

The CRS code 3414 specifically refers to the coordinate reference system used for geospatial data in Singapore. It’s a unique identifier assigned to this specific system, allowing geographers and mapping software to accurately interpret and display location-based information for Singapore.

the following code will import the masterplan subzone 2019 dataset and assign the correct coordinate reference.

Code
# Read spatial data for MPSZ-2019 and transform CRS
mpsz <- st_read(dsn='../data/geospatial',  # Specify data source directory
                layer='MPSZ-2019') %>%    # Specify layer to read
  st_transform(crs=3414)                  # Transform CRS to 3414
Reading layer `MPSZ-2019' from data source `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 332 features and 6 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 103.6057 ymin: 1.158699 xmax: 104.0885 ymax: 1.470775
Geodetic CRS:  WGS 84
  • st_read from sf package imports spatial vector data into R. It specifies the data source (dsn) and layer (layer). Here, it reads the ‘MPSZ-2019’ layer from the specified directory.
  • st_transform from sf package transforms the coordinate reference system (CRS) of spatial data. In this case, it transforms the CRS of mpsz to 3414.

using glimpse, we can see the structure of the data

Code
# View the structure and contents of the mpsz data frame
glimpse(mpsz)
Rows: 332
Columns: 7
$ SUBZONE_N  <chr> "MARINA EAST", "INSTITUTION HILL", "ROBERTSON QUAY", "JURON…
$ SUBZONE_C  <chr> "MESZ01", "RVSZ05", "SRSZ01", "WISZ01", "MUSZ02", "MPSZ05",…
$ PLN_AREA_N <chr> "MARINA EAST", "RIVER VALLEY", "SINGAPORE RIVER", "WESTERN …
$ PLN_AREA_C <chr> "ME", "RV", "SR", "WI", "MU", "MP", "WI", "WI", "SI", "SI",…
$ REGION_N   <chr> "CENTRAL REGION", "CENTRAL REGION", "CENTRAL REGION", "WEST…
$ REGION_C   <chr> "CR", "CR", "CR", "WR", "CR", "CR", "WR", "WR", "CR", "CR",…
$ geometry   <MULTIPOLYGON [m]> MULTIPOLYGON (((33222.98 29..., MULTIPOLYGON (…

glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

next, check for possible duplicates using this code.

Code
# check for duplicates based on unique id
if_else(n_distinct(mpsz$SUBZONE_N) == nrow(mpsz), "no duplicates detected", "possible duplicates detected")
[1] "no duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. In this code, it’s used to count the unique values in mpsz$SUBZONE_N.
  • nrow from base R returns the number of rows in a data frame. Here, it’s used to get the total number of rows in mpsz.
  • if_else from dplyr package performs a vectorized conditional operation. In this context, it checks if the number of unique SUBZONE_N values equals the total number of rows in mpsz. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since no duplicate is found, we can immediately try to visualize how does the master plan looks like in the map using the following code.

Code
# set tmap mode (plot for lighter rendering, view for analysis)
tmap_mode('plot')

# display the data in a map
tm_shape(mpsz)+
  tm_polygons(alpha = 0.3) +
  tm_layout(main.title = 'Singapore Planning Zone', main.title.position = "center")

  • tmap_mode from tmap package sets the mode for creating maps. The mode 'plot' is chosen here for static map plotting, which is typically lighter and faster for rendering compared to the interactive 'view' mode.
  • tm_shape from tmap package prepares spatial data (mpsz in this case) for plotting.
  • tm_polygons from tmap package adds a layer of polygons to the map, with an alpha parameter to adjust the transparency of these polygons.
  • tm_layout from tmap package customizes the layout of the map, including the title and its position.
  • This code snippet creates a thematic map displaying the Singapore Planning Zone with polygonal areas, each represented with a certain level of transparency.

the following code will import the bus stop location dataset and assign the correct coordinate reference.

Code
busstop <- st_read(dsn = "../data/geospatial",
                   layer = "BusStop") %>%
  st_transform(crs = 3414)
Reading layer `BusStop' from data source `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 5159 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 3970.122 ymin: 26482.1 xmax: 48280.78 ymax: 52983.82
Projected CRS: SVY21
  • st_read from sf package imports spatial vector data into R. It specifies the data source (dsn) and layer (layer). Here, it reads the ‘BusStop’ layer from the specified directory.
  • st_transform from sf package transforms the coordinate reference system (CRS) of spatial data. In this case, it transforms the CRS of busstop to 3414.

using glimpse, we can see the structure of the data

Code
# check the data
glimpse(busstop)
Rows: 5,159
Columns: 4
$ BUS_STOP_N <chr> "22069", "32071", "44331", "96081", "11561", "66191", "2338…
$ BUS_ROOF_N <chr> "B06", "B23", "B01", "B05", "B05", "B03", "B02A", "B02", "B…
$ LOC_DESC   <chr> "OPP CEVA LOGISTICS", "AFT TRACK 13", "BLK 239", "GRACE IND…
$ geometry   <POINT [m]> POINT (13576.31 32883.65), POINT (13228.59 44206.38),…

glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

Next, we will check for duplicates using the following code. BUS_STOP_N is used as the basis for duplicate checking because it will be the reference in joining the data

Code
# check for duplicates based on unique id
if_else(n_distinct(busstop$BUS_STOP_N) == nrow(busstop), "no duplicates detected", "possible duplicates detected")
[1] "possible duplicates detected"
  • st_read from sf package is used for reading spatial vector data into R. It imports data from a specified data source (dsn) and layer (layer). In this code, it reads the “BusStop” layer from the data source located at "../data/geospatial".
  • st_transform from sf package transforms the coordinate reference system (CRS) of a spatial object. Here, it transforms the CRS of busstop to 3414.
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

Since duplicates is found, we will try to check what are the duplicated value using the following code.

Code
# Subset rows where BUS_STOP_N has duplicates and arrange by BUS_STOP_N
duplicates <- busstop[duplicated(busstop$BUS_STOP_N) | duplicated(busstop$BUS_STOP_N, fromLast = TRUE), ] %>%
  arrange(BUS_STOP_N)

# show the number of duplicates
nrow(duplicates)
[1] 30
Code
# Display the sorted rows with duplicate BUS_STOP_N
kable(head(duplicates, n = 32))
BUS_STOP_N BUS_ROOF_N LOC_DESC geometry
22501 B02 Blk 662A POINT (13489.09 35536.4)
22501 B02 BLK 662A POINT (13488.02 35537.88)
43709 B06 BLK 644 POINT (18963.42 36762.8)
43709 B06 BLK 644 POINT (18952.02 36751.83)
47201 UNK NA POINT (22616.75 47793.68)
47201 NIL W’LANDS NTH STN POINT (22632.92 47934)
51071 B21 MACRITCHIE RESERVOIR POINT (28300.11 36045.9)
51071 B21 MACRITCHIE RESERVOIR POINT (28305.37 36036.67)
52059 B03 OPP BLK 65 POINT (30770.3 34460.06)
52059 B09 BLK 219 POINT (30565.45 36133.15)
53041 B05 Upp Thomson Road POINT (28105.8 37246.76)
53041 B07 Upp Thomson Road POINT (27956.34 37379.29)
58031 UNK OPP CANBERRA DR POINT (27089.69 47570.9)
58031 UNK OPP CANBERRA DR POINT (27111.07 47517.77)
62251 B03 Bef Blk 471B POINT (35500.54 39943.41)
62251 B03 BEF BLK 471B POINT (35500.36 39943.34)
67421 B01 CHENG LIM STN EXIT B POINT (34548.54 42052.15)
67421 NIL CHENG LIM STN EXIT B POINT (34741.77 42004.21)
68091 B01 AFT BAKER ST POINT (32164.11 42695.98)
68091 B08 AFT BAKER ST POINT (32038.84 43298.68)
68099 B02 BEF BAKER ST POINT (32154.9 42742.82)
68099 B07 BEF BAKER ST POINT (32004.05 43320.34)
77329 B01 BEF PASIR RIS ST 53 POINT (40765.35 39452.18)
77329 B03 Pasir Ris Central POINT (40728.15 39438.15)
82221 B01 BLK 3A POINT (35323.6 33257.05)
82221 B01 Blk 3A POINT (35308.74 33335.17)
96319 NA Yusen Logistics POINT (42187.23 34995.78)
96319 NIL YUSEN LOGISTICS POINT (42187.23 34995.78)
97079 B14 OPP ST. JOHN’S CRES POINT (44144.57 38980.25)
97079 B14 OPP ST. JOHN’S CRES POINT (44055.75 38908.5)
  • duplicated from base R identifies duplicate elements in a vector or rows in a data frame. Here, it’s used to find duplicate values in the BUS_STOP_N column of the busstop data frame.
  • arrange from dplyr package sorts a data frame by one or more columns. In this code, arrange is used to sort the duplicates data frame by BUS_STOP_N.
  • nrow returns the number of rows in a data frame. It’s used to count the number of duplicate rows.
  • kable from the knitr package creates a simple table from a data frame or matrix. This function is used to display the first 32 rows of the duplicates data frame in a markdown table format.

Based on the table, we can see that the duplicates does comes from the same bus stop code. Therefore, the following code chunk will execute the duplicate removal and show the result where number of rows have reduced from 5161 to 5145.

Code
# Keep one row of the duplicates in the original dataset
busstop <- busstop[!duplicated(busstop$BUS_STOP_N) | duplicated(busstop$BUS_STOP_N, fromLast = TRUE), ]

# Display the resulting dataset
glimpse(busstop)
Rows: 5,144
Columns: 4
$ BUS_STOP_N <chr> "22069", "32071", "44331", "96081", "11561", "66191", "2338…
$ BUS_ROOF_N <chr> "B06", "B23", "B01", "B05", "B05", "B03", "B02A", "B02", "B…
$ LOC_DESC   <chr> "OPP CEVA LOGISTICS", "AFT TRACK 13", "BLK 239", "GRACE IND…
$ geometry   <POINT [m]> POINT (13576.31 32883.65), POINT (13228.59 44206.38),…
  • duplicated from base R is used to identify duplicate elements in a vector or rows in a data frame. In this code, it’s applied to the BUS_STOP_N column of the busstop data frame to find duplicates.
  • The subset operation (busstop[...]) is used to keep only one row for each duplicate in busstop. The logical condition !duplicated(busstop$BUS_STOP_N) keeps the first occurrence of each duplicate, and duplicated(busstop$BUS_STOP_N, fromLast = TRUE) keeps the last occurrence.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column. It’s used to display the structure of the updated busstop data frame after removing duplicates.

next, we try to visualize how does the bus stop distribution looks like in the map using the following code.

Code
# set tmap mode (plot for lighter rendering, view for analysis)
tmap_mode('plot')

# visualize the output
tm_shape(mpsz)+
  tm_polygons(alpha = 0.3)+
  tm_shape(busstop)+
  tm_dots() +
  tm_layout(main.title = 'Bus Stop Distribution Map', main.title.position = "center")

  • tmap_mode from tmap package sets the mode for creating maps. The mode 'plot' is chosen for static map plotting, which is typically faster and lighter for rendering than the interactive 'view' mode.
  • tm_shape from tmap package prepares spatial data for plotting. It’s used twice in this code: first for the mpsz dataset and then for busstop.
  • tm_polygons from tmap package adds a layer of polygons to the map, in this case, for the mpsz data.
  • tm_dots from tmap package adds a layer of dots to the map, representing the busstop data.
  • tm_layout from tmap package customizes the layout of the map, including the main title and its position.
  • This code snippet creates a thematic map showing the distribution of bus stops (busstop) over a polygonal map of planning zones (mpsz).

the following code will import the train station dataset and assign the correct coordinate reference.

Code
station <- st_read(dsn = '../data/geospatial',
                        layer = 'RapidTransitSystemStation') %>%
  st_transform(crs = 3414)
Reading layer `RapidTransitSystemStation' from data source 
  `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 220 features and 4 fields
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: 6068.209 ymin: 27478.44 xmax: 45377.5 ymax: 47913.58
Projected CRS: SVY21
Code
# the data contain non closed ring, use st_is_valid to fix
station <- station %>%
  filter(st_is_valid(.))
  • st_read from the sf package is used to read spatial data from a file, database, or web service. In this code, it’s used to read the ‘RapidTransitSystemStation’ layer from the geospatial data located at ‘../data/geospatial’.
  • st_transform from the sf package is used to transform or convert coordinates of simple feature. Here, it’s used to transform the coordinates of the station data to the coordinate reference system (CRS) with the EPSG code 3414.
  • st_is_valid from the sf package checks if the geometry, in this case station, is valid. The filter function from the dplyr package is then used to keep only the valid geometries in station.

In geospatial data, a “non-closed ring” refers to a geometric shape that is intended to form a closed loop (like a polygon) but, due to some issues in the data, is not properly closed. It might have a small gap or overlap at the supposed endpoint, making it an invalid geometric object.

The existence of non-closed rings in a dataset could result from various reasons, such as errors in data collection, digitization issues, or inaccuracies in the original source. These issues can lead to geometric shapes that do not fulfill the criteria of a closed ring, making the data inconsistent or problematic for further spatial analysis.

To address this, the st_is_valid function is used in the given R code snippet. This function is designed to check the validity of geometries in a spatial dataset. When applied to the station dataset, the st_is_valid function identifies and filters out any geometries (in this case, stations) that are not valid, essentially removing those with non-closed rings.

By using filter(st_is_valid(.)), we are keeping only the valid geometries in the station dataset, effectively fixing or cleaning the data by excluding any stations with non-closed rings. This ensures that the remaining geometries in the dataset are properly formed, closed rings, making them suitable for accurate spatial analysis and visualization.

using glimpse, we can see the structure of the data

Code
# check the data
glimpse(station)
Rows: 217
Columns: 5
$ TYP_CD     <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ STN_NAM    <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ TYP_CD_DES <chr> "MRT", "MRT", "MRT", "MRT", "MRT", "LRT", "MRT", "MRT", "LR…
$ STN_NAM_DE <chr> "ESPLANADE MRT STATION", "PAYA LEBAR MRT STATION", "DHOBY G…
$ geometry   <POLYGON [m]> POLYGON ((30566.07 30621.21..., POLYGON ((34495.6 3…

glimpse from the dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column. It’s used to display the structure of the station data frame after the transformations.

next, check for possible duplicates using this code. the duplicate consider geometry as the unique value as different MRT station should have different location

Code
# check for duplicates based on unique id
if_else(n_distinct(station$geometry) == nrow(station), "no duplicates detected", "possible duplicates detected")
[1] "no duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. In this code, it’s used to count the unique geometry values in the station data frame.
  • nrow from base R returns the number of rows in a data frame. It’s used to get the total number of rows in station.
  • if_else from dplyr package performs a vectorized conditional operation. In this context, it checks if the number of unique geometry values equals the total number of rows in station. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since no duplicate is found, we can immediately try to visualize how does the master plan looks like in the map using the following code.

Code
# visualize the output
tm_shape(mpsz)+
  tm_polygons(col = 'white', alpha = 0.01) +
  tm_shape(station) +
  tm_fill(col = 'green',
          id = 'STN_NAM_DE') +
  tm_layout(main.title = 'MRT Station Distribution Map', main.title.position = "center")

  • tm_shape from the tmap package is used to specify the spatial object that you want to visualize. In this code, it’s used twice to specify two different spatial objects: mpsz and station.
  • tm_polygons from the tmap package is used to create a layer of polygons. Here, it’s used to create a layer of polygons from mpsz with white color and 0.01 alpha (transparency).
  • tm_fill from the tmap package is used to fill the polygons of station with green color. The id argument is set to ‘STN_NAM_DE’, which means the polygons are grouped by the ‘STN_NAM_DE’ attribute of station.
  • tm_layout from the tmap package is used to set the layout of the map. Here, it’s used to set the main title of the map to ‘MRT Station Distribution Map’ and position it in the center.

the following code will import the train exit location dataset and assign the correct coordinate reference.

Code
trainexit <- st_read(dsn = '../data/geospatial',
                     layer = 'Train_Station_Exit_Layer') %>%
  st_transform(crs = 3414)
Reading layer `Train_Station_Exit_Layer' from data source 
  `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 565 features and 2 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 6134.086 ymin: 27499.7 xmax: 45356.36 ymax: 47865.92
Projected CRS: SVY21
  • st_read from the sf package is used to read spatial data from a file, database, or web service. In this code, it’s used to read the ‘Train_Station_Exit_Layer’ layer from the geospatial data located at ‘../data/geospatial’.
  • st_transform from the sf package is used to transform or convert coordinates of simple feature. Here, it’s used to transform the coordinates of the trainexit data to the coordinate reference system (CRS) with the EPSG code 3414.

using glimpse, we can see the structure of the data

Code
glimpse(trainexit)
Rows: 565
Columns: 3
$ stn_name  <chr> "MACPHERSON MRT STATION", "MACPHERSON MRT STATION", "MACPHER…
$ exit_code <chr> "Exit A", "Exit B", "Exit C", "Exit B", "Exit A", "Exit A", …
$ geometry  <POINT [m]> POINT (34285.07 34322.99), POINT (34382.15 34231.9), P…

glimpse from the dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column. It’s used to display the structure of the trainexit data frame after the transformations.

next, check for possible duplicates using this code. the duplicate consider geometry as the unique value as different MRT exit should have different location

Code
# check for duplicates based on unique id
if_else(n_distinct(trainexit$geometry) == nrow(trainexit), "no duplicates detected", "possible duplicates detected")
[1] "no duplicates detected"
  • n_distinct from the dplyr package is used to count the number of unique values in a vector. In this code, it’s used to count the number of unique geometries in the trainexit data frame.
  • nrow from base R is used to get the number of rows in a data frame. Here, it’s used to get the number of rows in the trainexit data frame.
  • if_else from the dplyr package is a vectorized conditional function that returns a value based on whether a condition is true or false. In this code, it’s used to check if the number of unique geometries is equal to the number of rows in trainexit. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since no duplicate is found, we can immediately try to visualize how does the master plan looks like in the map using the following code.

Code
# visualize the data
tm_shape(mpsz)+
  tm_polygons(alpha = 0.5)+
  tm_shape(trainexit)+
  tm_dots(col = 'blue',
          id = 'exit_id') +
  tm_layout(main.title = 'Train Station Exit Distribution Map', main.title.position = "center")

  • tm_shape from tmap package prepares spatial data for plotting. It’s used here for mpsz and trainexit datasets.
  • tm_polygons adds a layer of polygons to the map, with an alpha parameter to adjust the transparency of these polygons for mpsz.
  • tm_dots adds a layer of dots to the map, representing the trainexit data. The color of the dots is set to blue, and the identifier (id) is set to ‘exit_id’.
  • tm_layout customizes the layout of the map, including the main title and its position.
  • This code snippet creates a thematic map displaying the distribution of train station exits (trainexit) over a polygonal map of planning zones (mpsz), with moderate transparency set for the polygons.

the following code will import the business point of interest dataset and assign the correct coordinate reference.

Code
biz <- st_read(dsn = "../data/geospatial",
                   layer = "Business") %>%
  st_transform(crs = 3414)
Reading layer `Business' from data source `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 6550 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 3669.148 ymin: 25408.41 xmax: 47034.83 ymax: 50148.54
Projected CRS: SVY21 / Singapore TM
  • st_read from sf package is used for reading spatial vector data into R. It imports data from a specified data source (dsn) and layer (layer). In this code, it reads the “Business” layer from the data source located at "../data/geospatial".
  • st_transform from sf package transforms the coordinate reference system (CRS) of a spatial object. Here, it transforms the CRS of biz to 3414.

using glimpse, we can see the structure of the data

Code
glimpse(biz)
Rows: 6,550
Columns: 4
$ POI_NAME   <chr> "JOHN CHEN", "TROPICAL INDUSTRIAL BUILDING", "LIAN CHEONG I…
$ POI_ST_NUM <chr> "6", "14", "12", NA, "2", "21", "68", "68", NA, "14", "10",…
$ POI_ST_NAM <chr> "LITTLE RD", "LITTLE RD", "LITTLE RD", NA, "LITTLE RD", "LO…
$ geometry   <POINT [m]> POINT (33818.36 35620.16), POINT (33770.51 35610.2), …

glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

next, check for possible duplicates using this code. considering some business might have branches, the duplicate condition here is only if all column value is the same

Code
# check for duplicates based on unique id
if_else(n_distinct(biz) == nrow(biz), "no duplicates detected", "possible duplicates detected")
[1] "possible duplicates detected"
  • n_distinct from the dplyr package is used to count the number of unique values in a vector. In this code, it’s used to count the number of unique geometries in the trainexit data frame.
  • nrow from base R is used to get the number of rows in a data frame. Here, it’s used to get the number of rows in the trainexit data frame.
  • if_else from the dplyr package is a vectorized conditional function that returns a value based on whether a condition is true or false. In this code, it’s used to check if the number of unique geometries is equal to the number of rows in trainexit. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since duplicates is found, we will try to check what are the duplicated value using the following code.

Code
# Subset rows where BUS_STOP_N has duplicates and arrange by BUS_STOP_N
duplicates <- biz[duplicated(biz) | duplicated(biz, fromLast = TRUE), ] %>%
  arrange(POI_NAME)

# Display the sorted rows with duplicate BUS_STOP_N
head(duplicates)
Simple feature collection with 2 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 27455.94 ymin: 28233.69 xmax: 27455.94 ymax: 28233.69
Projected CRS: SVY21 / Singapore TM
           POI_NAME POI_ST_NUM  POI_ST_NAM                  geometry
1 KEPPEL DISTRIPARK        511 KG BAHRU RD POINT (27455.94 28233.69)
2 KEPPEL DISTRIPARK        511 KG BAHRU RD POINT (27455.94 28233.69)
  • duplicated from base R is used to identify duplicate elements in a vector or rows in a data frame. In this code, it’s applied to the biz data frame to find duplicates. The logical condition duplicated(biz) | duplicated(biz, fromLast = TRUE) keeps both the first and last occurrence of each duplicate.
  • The subset operation (biz[...]) is used to keep only the rows for each duplicate in biz.
  • arrange from the dplyr package is used to arrange rows by column values. Here, it’s used to arrange the rows of duplicates by ‘POI_NAME’.
  • head from base R is used to return the first parts of a vector, matrix, table, data frame or function. In this code, it’s used to display the first few rows of the duplicates data frame after removing duplicates and arranging by ‘POI_NAME’.

Based on the table, we can see that the duplicates does comes from the same business point of interest. Therefore, the following code chunk will execute the duplicate removal and show the result where number of rows have reduced from 6550 to 6549

Code
# Keep one row of the duplicates in the original dataset
biz <- biz[!duplicated(biz) | duplicated(biz, fromLast = TRUE), ]

# Display the resulting dataset
glimpse(biz)
Rows: 6,549
Columns: 4
$ POI_NAME   <chr> "JOHN CHEN", "TROPICAL INDUSTRIAL BUILDING", "LIAN CHEONG I…
$ POI_ST_NUM <chr> "6", "14", "12", NA, "2", "21", "68", "68", NA, "14", "10",…
$ POI_ST_NAM <chr> "LITTLE RD", "LITTLE RD", "LITTLE RD", NA, "LITTLE RD", "LO…
$ geometry   <POINT [m]> POINT (33818.36 35620.16), POINT (33770.51 35610.2), …
  • duplicated from base R is used to identify duplicate elements in a vector or rows in a data frame. In this code, it’s applied to the biz data frame to find duplicates. The logical condition !duplicated(biz) | duplicated(biz, fromLast = TRUE) keeps both the first and last occurrence of each duplicate.
  • The subset operation (biz[...]) is used to keep only one row for each duplicate in biz.
  • glimpse from the dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column. It’s used to display the structure of the biz data frame after removing duplicates.

after cleaning the duplicates, now we can visualize the distribution of business point of interest using the following code

Code
# visualize the output
tm_shape(mpsz)+
  tm_polygons(alpha = 0.01)+
  tm_shape(biz)+
  tm_dots(col = 'red') +
  tm_layout(main.title = 'Business Distribution Map', main.title.position = "center")

  • tm_shape from the tmap package is used to specify the spatial object that you want to visualize. In this code, it’s used twice to specify two different spatial objects: mpsz and trainexit.
  • tm_polygons from the tmap package is used to create a layer of polygons. Here, it’s used to create a layer of polygons from mpsz with 0.5 alpha (transparency).
  • tm_dots from the tmap package is used to create a layer of dots. Here, it’s used to create a layer of dots from trainexit with blue color. The id argument is set to ‘exit_id’, which means the dots are grouped by the ‘exit_id’ attribute of trainexit.
  • tm_layout from the tmap package is used to set the layout of the map. Here, it’s used to set the main title of the map to ‘Train Station Exit Distribution Map’ and position it in the center.

the following code will import the entertainment point of interest dataset and assign the correct coordinate reference.

Code
entertn <- st_read(dsn = '../data/geospatial',
                     layer = 'entertn') %>%
  st_transform(crs = 3414)
Reading layer `entertn' from data source `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 114 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 10809.34 ymin: 26528.63 xmax: 41600.62 ymax: 46375.77
Projected CRS: SVY21 / Singapore TM
  • st_read from sf package is used for reading spatial vector data into R. It imports data from a specified data source (dsn) and layer (layer). In this code, it reads the “entertn” layer from the data source located at "../data/geospatial".
  • st_transform from sf package transforms the coordinate reference system (CRS) of a spatial object. Here, it transforms the CRS of entertn to 3414.
  • This code snippet reads and transforms spatial data related to entertainment venues, converting it to the specified CRS.

using glimpse, we can see the structure of the data

Code
glimpse(entertn)
Rows: 114
Columns: 4
$ POI_NAME   <chr> "TP AUDITORIUM", "NP CONVENTION CENTRE", "SP AUDITORIUM", "…
$ POI_ST_NUM <chr> NA, NA, NA, "1", "350", NA, "201", NA, "83", "328", NA, "5"…
$ POI_ST_NAM <chr> NA, NA, NA, "FULLERTON SQ", "BALESTIER RD", "TRENGGANU ST",…
$ geometry   <POINT [m]> POINT (39115.71 36392.13), POINT (21533.12 34921.34),…

next, check for possible duplicates using this code. considering some entertainment might have branches, the duplicate condition here is only if all column value is the same

Code
# check for duplicates based on unique id
if_else(n_distinct(entertn) == nrow(entertn), "no duplicates detected", "possible duplicates detected")
[1] "possible duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. Here, it’s used to count the unique values in the entire entertn data frame.
  • nrow from base R returns the number of rows in a data frame. Here, it’s used to get the total number of rows in entertn.
  • if_else from dplyr package performs a vectorized conditional operation. In this code, it checks if the number of unique values in entertn equals the total number of rows. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since duplicates is found, we will try to check what are the duplicated value using the following code.

Code
# Subset rows where BUS_STOP_N has duplicates and arrange by BUS_STOP_N
duplicates <- entertn[duplicated(entertn) | duplicated(entertn, fromLast = TRUE), ] %>%
  arrange(POI_NAME)

# Display the sorted rows with duplicate
head(duplicates)
Simple feature collection with 2 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 30063.5 ymin: 30677.41 xmax: 30063.5 ymax: 30677.41
Projected CRS: SVY21 / Singapore TM
         POI_NAME POI_ST_NUM  POI_ST_NAM                 geometry
1 CAPITOL THEATRE         13 STAMFORD RD POINT (30063.5 30677.41)
2 CAPITOL THEATRE         13 STAMFORD RD POINT (30063.5 30677.41)

Based on the table, we can see that the duplicates does comes from the same entertainment point of interest. Therefore, the following code chunk will execute the duplicate removal and show the result where number of rows have reduced from 114 to 113

Code
# Keep one row of the duplicates in the original dataset
entertn <- entertn[!duplicated(entertn) | duplicated(entertn, fromLast = TRUE), ]

# Display the resulting dataset
glimpse(entertn)
Rows: 113
Columns: 4
$ POI_NAME   <chr> "TP AUDITORIUM", "NP CONVENTION CENTRE", "SP AUDITORIUM", "…
$ POI_ST_NUM <chr> NA, NA, NA, "1", "350", NA, "201", NA, "83", "328", NA, "5"…
$ POI_ST_NAM <chr> NA, NA, NA, "FULLERTON SQ", "BALESTIER RD", "TRENGGANU ST",…
$ geometry   <POINT [m]> POINT (39115.71 36392.13), POINT (21533.12 34921.34),…
  • duplicated from base R identifies duplicate elements in a vector or rows in a data frame. Here, it’s used to find duplicate rows in the entertn data frame.
  • arrange from dplyr package sorts a data frame by one or more columns. In this case, arrange is used to sort the duplicates data frame by POI_NAME.
  • head from base R retrieves the first n rows of a data frame or matrix. Here, it’s used to display the first few rows of the sorted duplicates data frame.
  • This code snippet identifies and displays the first few duplicate rows in the entertn data frame, sorted by the Point of Interest (POI) name.

next, we try to visualize how does the entertainment point of interest distribution looks like in the map using the following code.

Code
# visualize the output
tm_shape(mpsz)+
  tm_polygons(alpha = 0.01)+
  tm_shape(entertn)+
  tm_dots(col = 'cyan',
          id = 'POI_NAME') +
  tm_layout(main.title = 'Entertainment Distribution Map', main.title.position = "center")

  • tm_shape from tmap package is used to specify the spatial object from which the spatial data will be visualized. In this code, it’s applied to mpsz and entertn.
  • tm_polygons is used to create a polygons layer. The alpha parameter is used to adjust the transparency of the polygons.
  • tm_dots is used to create a dots layer. The col parameter is used to specify the color of the dots, and the id parameter is used to label the dots.
  • tm_layout is used to set the layout parameters. In this code, it’s used to set the main title of the map and its position.

the following code will import the F&B point of interest dataset and assign the correct coordinate reference.

Code
fnb <- st_read(dsn = '../data/geospatial',
                     layer = 'F&B') %>%
  st_transform(crs = 3414)
Reading layer `F&B' from data source `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 1919 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 6010.495 ymin: 25343.27 xmax: 45462.43 ymax: 48796.21
Projected CRS: SVY21 / Singapore TM
  • st_read from sf package is used for reading spatial vector data into R. It imports data from a specified data source (dsn) and layer (layer). In this code, it reads the “F&B” layer (likely representing food and beverage establishments) from the data source located at "../data/geospatial".
  • st_transform from sf package transforms the coordinate reference system (CRS) of a spatial object. Here, it transforms the CRS of fnb to 3414.

using glimpse, we can see the structure of the data

Code
glimpse(fnb)
Rows: 1,919
Columns: 4
$ POI_NAME   <chr> "KHEL", "I PUB", "LARK LOUNGE & NITE-CLUB", "CHAKRAVARTHY",…
$ POI_ST_NUM <chr> "141", "14", "195", "195", "48", "36", "10", "697", "11", "…
$ POI_ST_NAM <chr> "KITCHENER RD", "CHUN TIN RD", "LAVENDER ST", "LAVENDER ST"…
$ geometry   <POINT [m]> POINT (30654.44 32466.51), POINT (21515.34 36007.18),…

glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

next, check for possible duplicates using this code. considering some F & B might have branches, the duplicate condition here is only if all column value is the same

Code
# check for duplicates based on unique id
if_else(n_distinct(fnb) == nrow(fnb), "no duplicates detected", "possible duplicates detected")
[1] "no duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. Here, it’s used to count the unique values in the entire fnb data frame.
  • nrow from base R returns the number of rows in a data frame. Here, it’s used to get the total number of rows in fnb.
  • if_else from dplyr package performs a vectorized conditional operation. In this code, it checks if the number of unique values in fnb equals the total number of rows. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since no duplicate is found, we can immediately try to visualize how does the F&B distribution looks like in the map using the following code.

Code
# visualize the output
tm_shape(mpsz)+
  tm_polygons(alpha = 0.01)+
  tm_shape(fnb)+
  tm_dots(col = 'magenta',
          id = 'POI_NAME') +
  tm_layout(main.title = 'Food & Beverage Distribution Map', main.title.position = "center")

  • tm_shape from tmap package prepares spatial data for plotting. It’s used here for both mpsz (planning zones) and fnb (food and beverage locations).
  • tm_polygons adds a layer of polygons to the map, with the alpha parameter setting the transparency for the mpsz polygons.
  • tm_dots adds a layer of dots to the map, representing fnb data. The dots are colored magenta and identified by POI_NAME.
  • tm_layout customizes the layout of the map, including the main title and its position.
  • This code snippet creates a thematic map displaying the distribution of food and beverage outlets (fnb) over a minimally styled polygonal map of planning zones (mpsz).

the following code will import the financial services point of interest dataset and assign the correct coordinate reference.

Code
finance <- st_read(dsn = '../data/geospatial',
                   layer = 'FinServ') %>%
  st_transform(crs = 3414)
Reading layer `FinServ' from data source `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 3320 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 4881.527 ymin: 25171.88 xmax: 46526.16 ymax: 49338.02
Projected CRS: SVY21 / Singapore TM
  • st_read from sf package is used for reading spatial vector data into R. It imports data from a specified data source (dsn) and layer (layer). In this code, it reads the “FinServ” layer (likely representing financial services) from the data source located at "../data/geospatial".
  • st_transform from sf package transforms the coordinate reference system (CRS) of a spatial object. Here, it transforms the CRS of finance to 3414.
Code
glimpse(finance)
Rows: 3,320
Columns: 4
$ POI_NAME   <chr> "UOB", "POSB", "UOB", "OCBC", "OCBC", "MAYBANK", "ADPOST MO…
$ POI_ST_NUM <chr> "201", "375", "375", "375", NA, "707", "163", NA, "11", NA,…
$ POI_ST_NAM <chr> "YISHUN AVE 2", "COMMONWEALTH AVE", "COMMONWEALTH AVE", "CO…
$ geometry   <POINT [m]> POINT (27966.77 44304.65), POINT (24163.96 31606.25),…
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

next, check for possible duplicates using this code. considering some financial services might have branches, the duplicate condition here is only if all column value is the same

Code
# check for duplicates based on unique id
if_else(n_distinct(finance) == nrow(finance), "no duplicates detected", "possible duplicates detected")
[1] "possible duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. Here, it’s used to count the unique values in the entire finance data frame.
  • nrow from base R returns the number of rows in a data frame. Here, it’s used to get the total number of rows in finance.
  • if_else from dplyr package performs a vectorized conditional operation. In this code, it checks if the number of unique values in finance equals the total number of rows. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since duplicates is found, we will try to check what are the duplicated value using the following code.

Code
# Subset rows for duplicates and arrange by POI_NAME and POI_ST_NAM
duplicates <- finance[duplicated(finance) | duplicated(finance, fromLast = TRUE), ] %>%
  arrange(POI_NAME, POI_ST_NAM)

# Display the sorted rows with duplicatew
kable(head(duplicates, n=20))
POI_NAME POI_ST_NUM POI_ST_NAM geometry
ANZ NA MARINE PARADE CENTRAL POINT (36195.63 31542.21)
ANZ NA MARINE PARADE CENTRAL POINT (36195.63 31542.21)
ANZ 87 MARINE PARADE CENTRAL POINT (36057.62 31668.26)
ANZ 87 MARINE PARADE CENTRAL POINT (36057.62 31668.26)
ANZ 360 ORCHARD RD POINT (27714.14 31996.56)
ANZ 360 ORCHARD RD POINT (27714.14 31996.56)
ANZ 50 RAFFLES PL POINT (30017.88 29712.09)
ANZ 50 RAFFLES PL POINT (30017.88 29712.09)
BANK OF CHINA 4 BATTERY RD POINT (30113.59 29758.53)
BANK OF CHINA 4 BATTERY RD POINT (30113.59 29758.53)
BANK OF CHINA 60 EU TONG SEN ST POINT (29271.11 29829.29)
BANK OF CHINA 60 EU TONG SEN ST POINT (29271.11 29829.29)
BANK OF CHINA 133 MIDDLE RD POINT (30189.25 31295.52)
BANK OF CHINA 133 MIDDLE RD POINT (30189.25 31295.52)
BANK OF CHINA 83 PUNGGOL CENTRAL POINT (35606.57 43071.85)
BANK OF CHINA 83 PUNGGOL CENTRAL POINT (35606.57 43071.85)
CIMB BANK 270 ORCHARD RD POINT (28308.43 31676.99)
CIMB BANK 270 ORCHARD RD POINT (28308.43 31676.99)
CIMB BANK 50 RAFFLES PL POINT (30017.88 29712.09)
CIMB BANK 50 RAFFLES PL POINT (30017.88 29712.09)
  • duplicated from base R identifies duplicate elements in a vector or rows in a data frame. Here, it’s used to find duplicate rows in the finance data frame.
  • arrange from dplyr package sorts a data frame by one or more columns. In this case, arrange is used to sort the duplicates data frame by POI_NAME and POI_ST_NAM.
  • kable from the knitr package creates a simple table from a data frame or matrix. This function is used to display the first 20 rows of the duplicates data frame in a markdown table format.
  • This code snippet identifies, sorts, and displays the first 20 duplicate rows in the finance data frame, sorted by the Point of Interest (POI) name and street name.

Based on the table, we can see that the duplicates does comes from the same financial service point of interest. Therefore, the following code chunk will execute the duplicate removal and show the result where number of rows have reduced from 3320 to 3058

Code
# Keep one row of the duplicates in the original dataset
finance <- finance[!duplicated(finance) | duplicated(finance, fromLast = TRUE), ]

# Display the resulting dataset
glimpse(finance)
Rows: 3,058
Columns: 4
$ POI_NAME   <chr> "UOB", "POSB", "UOB", "OCBC", "OCBC", "MAYBANK", "ADPOST MO…
$ POI_ST_NUM <chr> "201", "375", "375", "375", NA, "707", "163", NA, "11", NA,…
$ POI_ST_NAM <chr> "YISHUN AVE 2", "COMMONWEALTH AVE", "COMMONWEALTH AVE", "CO…
$ geometry   <POINT [m]> POINT (27966.77 44304.65), POINT (24163.96 31606.25),…
  • duplicated from base R is used to identify duplicate elements in a vector or rows in a data frame. In this code, it’s applied to the entire finance data frame to find duplicates.
  • The subset operation (finance[...]) is used to keep only one row for each duplicate in finance. The logical condition !duplicated(finance) keeps the first occurrence of each duplicate, and duplicated(finance, fromLast = TRUE) keeps the last occurrence.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.
  • This code snippet removes duplicate rows from the finance data frame, retaining only one occurrence of each duplicate, and then provides an overview of the resulting data frame.

next, we try to visualize how does the financial services point of interest distribution looks like in the map using the following code.

Code
# visualize the output
tm_shape(mpsz)+
  tm_polygons(alpha = 0.01)+
  tm_shape(finance)+
  tm_dots(col = 'black',
          id = 'POI_NAME') +
  tm_layout(main.title = 'Financial Service Distribution Map', main.title.position = "center")

the following code will import the leisure & recreation point of interest dataset and assign the correct coordinate reference.

Code
lnr <- st_read(dsn = '../data/geospatial',
                   layer = 'Liesure&Recreation') %>%
  st_transform(crs = 3414)
Reading layer `Liesure&Recreation' from data source 
  `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 1217 features and 30 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 6010.495 ymin: 25134.28 xmax: 48439.77 ymax: 50078.88
Projected CRS: SVY21 / Singapore TM
  • st_read from sf package is used for reading spatial vector data into R. It imports data from a specified data source (dsn) and layer (layer). In this code, it reads the “Liesure&Recreation” layer (presumably representing leisure and recreation locations) from the data source located at "../data/geospatial".
  • st_transform from sf package transforms the coordinate reference system (CRS) of a spatial object. Here, it transforms the CRS of lnr to 3414.

using glimpse, we can see the structure of the data

Code
glimpse(lnr)
Rows: 1,217
Columns: 31
$ LINK_ID    <dbl> 914885888, 1046871091, 845355245, 940657500, 940657500, 941…
$ POI_ID     <dbl> 1192316147, 1132324271, 1132324254, 1110521716, 1110521715,…
$ SEQ_NUM    <int> 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ FAC_TYPE   <int> 8410, 7997, 7997, 7997, 7997, 8410, 7997, 7997, 7997, 7997,…
$ POI_NAME   <chr> "NIE ART GALLERY", "ASPIRE CONCEPT", "SOCCERPUNTER", "ANAND…
$ POI_LANGCD <chr> "ENG", "ENG", "ENG", "ENG", "ENG", "ENG", "ENG", "ENG", "EN…
$ POI_NMTYPE <chr> "B", "B", "B", "B", "B", "B", "B", "J", "B", "B", "B", "B",…
$ POI_ST_NUM <chr> NA, "883", "14", "1", "1", "39", NA, NA, "108", "11", "11",…
$ ST_NUM_FUL <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "169A", NA, NA,…
$ ST_NFUL_LC <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "ENG", NA, NA, …
$ ST_NAME    <chr> "NANYANG CRES", "NORTH BRIDGE RD", "ROBINSON RD", "MARINE P…
$ ST_LANGCD  <chr> "ENG", "ENG", "ENG", "ENG", "ENG", "ENG", NA, NA, "ENG", "E…
$ POI_ST_SD  <chr> "R", "L", "L", "R", "R", "L", "R", "R", "L", "L", "L", "R",…
$ ACC_TYPE   <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ PH_NUMBER  <chr> NA, "66347769", NA, NA, "63446164", "63327591", "67659324",…
$ CHAIN_ID   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ NAT_IMPORT <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N",…
$ PRIVATE    <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N",…
$ IN_VICIN   <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N",…
$ NUM_PARENT <int> 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0,…
$ NUM_CHILD  <int> 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,…
$ PERCFRREF  <int> NA, NA, NA, 43, 43, 51, 40, 40, NA, NA, 40, 99, 59, 15, NA,…
$ VANCITY_ID <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ ACT_ADDR   <chr> NA, NA, NA, NA, NA, NA, "1 CHOA CHU KANG STREET 53         …
$ ACT_LANGCD <chr> NA, NA, NA, NA, NA, NA, "ENG", "ENG", NA, NA, NA, NA, NA, N…
$ ACT_ST_NAM <chr> NA, NA, NA, NA, NA, NA, "CHOA CHU KANG STREET 53", "CHOA CH…
$ ACT_ST_NUM <chr> NA, NA, NA, NA, NA, NA, "1", "1", NA, NA, NA, NA, NA, NA, N…
$ ACT_ADMIN  <chr> NA, NA, NA, NA, NA, NA, "SINGAPORE", "SINGAPORE", NA, NA, N…
$ ACT_POSTAL <chr> NA, NA, NA, NA, NA, NA, "689236", "689236", NA, NA, NA, NA,…
$ ENTR_TYPE  <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ geometry   <POINT [m]> POINT (10664.66 36585.97), POINT (31490.24 32040.81),…
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.
  • This function is used here to display an overview of the lnr data frame, which contains spatial data related to leisure and recreation facilities. The output will give insights into the types and structures of the data available in lnr, such as column names, data types, and sample values.

next, check for possible duplicates using this code. considering some leisure & recreation might have branches, the duplicate condition here is only if all column value is the same

Code
# check for duplicates based on unique id
if_else(n_distinct(lnr) == nrow(lnr), "no duplicates detected", "possible duplicates detected")
[1] "no duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. Here, it’s used to count the unique values in the entire lnr data frame.
  • nrow from base R returns the number of rows in a data frame. Here, it’s used to get the total number of rows in lnr.
  • if_else from dplyr package performs a vectorized conditional operation. In this code, it checks if the number of unique values in lnr equals the total number of rows. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since no duplicate is found, we can immediately try to visualize how does the leisure & entertainment point of interest distribution looks like in the map using the following code.

Code
# visualize the output
tm_shape(mpsz)+
  tm_polygons(alpha = 0.01)+
  tm_shape(lnr)+
  tm_dots(col = 'coral',
          id = 'POI_NAME') +
  tm_layout(main.title = 'Leisure & Recreation Distribution Map', main.title.position = "center")

  • tm_shape from tmap package prepares spatial data for plotting. It’s used here for mpsz and lnr (Leisure & Recreation) datasets.
  • tm_polygons adds a layer of polygons to the map. For mpsz, the polygons are set with high transparency (alpha = 0.01).
  • tm_dots adds a layer of dots to the map, representing the lnr data. The color and identifier (id) of the dots are specified.
  • tm_layout customizes the layout of the map, including the main title and its position.
  • This code snippet creates a thematic map displaying the distribution of leisure and recreation points of interest (POIs) over a minimally styled polygonal map of planning zones (mpsz).

the following code will import the retails point of interest dataset and assign the correct coordinate reference.

Code
retails <- st_read(dsn = '../data/geospatial',
                   layer = 'Retails') %>%
  st_transform(crs = 3414)
Reading layer `Retails' from data source `C:\ameernoor\ISSS624\data\geospatial' using driver `ESRI Shapefile'
Simple feature collection with 37635 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 4737.982 ymin: 25171.88 xmax: 48265.04 ymax: 50135.28
Projected CRS: SVY21 / Singapore TM
  • st_read from sf package is used to read simple features from a file or database. In this code, it’s applied to the Retails layer of the geospatial data source to import the spatial data as an sf object.
  • st_transform from sf package is used to transform the coordinate reference system (CRS) of the sf object. In this code, it’s applied to the retails object to change its CRS to 3414, which is the code for SVY21 / Singapore TM projection.
  • summary from base R is used to provide a summary of the sf object, including its dimensions, geometry type, CRS, and a summary of each column. It’s used to display the summary of the retails object after transforming its CRS.

using glimpse, we can see the structure of the data

Code
glimpse(retails)
Rows: 37,635
Columns: 4
$ POI_NAME   <chr> "TIAN KEE & CO", "PEOPLE TRADITIONAL CHINESE MEDICAL", "RIV…
$ POI_ST_NUM <chr> "12", "12", NA, NA, "588", "243", "208", "267", "231", "158…
$ POI_ST_NAM <chr> "DAKOTA CRES", "DAKOTA CRES", NA, NA, "SERANGOON RD", "ALEX…
$ geometry   <POINT [m]> POINT (33713.83 32023.15), POINT (33713.83 32023.15),…
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.
  • This function is used here to display an overview of the retails data frame. The output will give insights into the types and structures of the data available in retails, such as column names, data types, and sample values. Since the content and structure of the retails data frame are not detailed in the prompt, it’s assumed to contain retail-related spatial data.

next, check for possible duplicates using this code. considering some financial services might have branches, the duplicate condition here is only if all column value is the same

Code
# check for duplicates based on unique id
if_else(n_distinct(retails) == nrow(retails), "no duplicates detected", "possible duplicates detected")
[1] "possible duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. Here, it’s used to count the unique values in the entire retails data frame.
  • nrow from base R returns the number of rows in a data frame. Here, it’s used to get the total number of rows in retails.
  • if_else from dplyr package performs a vectorized conditional operation. In this code, it checks if the number of unique values in retails equals the total number of rows. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

since duplicates is found, we will try to check what are the duplicated value using the following code.

Code
# Subset rows for duplicates and arrange by POI_NAME and POI_ST_NAM
duplicates <- retails[duplicated(retails) | duplicated(retails, fromLast = TRUE), ] %>%
  arrange(POI_NAME, POI_ST_NAM)

# Display the sorted rows with duplicatew
kable(head(duplicates, n=20))
POI_NAME POI_ST_NUM POI_ST_NAM geometry
10 & 10 SPORTING CO. 28 KALLANG PL POINT (31757.32 33054.78)
10 & 10 SPORTING CO. 28 KALLANG PL POINT (31757.32 33054.78)
123 SALES 662 BUFFALO RD POINT (29895.44 32149.16)
123 SALES 662 BUFFALO RD POINT (29895.44 32149.16)
AIK BAN HENG & TRADING 456 ANG MO KIO AVE 10 POINT (30820.2 38832.31)
AIK BAN HENG & TRADING 456 ANG MO KIO AVE 10 POINT (30820.2 38832.31)
AIK KIONG ENGINEERING CO 90 DUNLOP ST POINT (30182.57 31993.25)
AIK KIONG ENGINEERING CO 90 DUNLOP ST POINT (30182.57 31993.25)
ALEXANDRA CENTRAL 321 ALEXANDRA RD POINT (24837.25 30020.6)
ALEXANDRA CENTRAL 321 ALEXANDRA RD POINT (24837.25 30020.6)
ANACAONA 128 DUNLOP ST POINT (30113.57 32037.48)
ANACAONA 128 DUNLOP ST POINT (30113.57 32037.48)
ANTECH INTERNET CAFE 44 UPP DICKSON RD POINT (30170.33 32060.7)
ANTECH INTERNET CAFE 44 UPP DICKSON RD POINT (30170.33 32060.7)
BABY GUESS 290 ORCHARD RD POINT (28306.21 31787.57)
BABY GUESS 290 ORCHARD RD POINT (28306.21 31787.57)
BAN CHOON MEDICAL STORE 130 TELOK AYER ST POINT (29649.5 29342.76)
BAN CHOON MEDICAL STORE 130 TELOK AYER ST POINT (29649.5 29342.76)
BANG & OLUFSEN 10 SCOTTS RD POINT (27957.87 32092.76)
BANG & OLUFSEN 10 SCOTTS RD POINT (27957.87 32092.76)
  • duplicated from base R is used to identify duplicate elements in a vector or rows in a data frame. In this code, it’s applied to the retails data frame to find duplicates.
  • The subset operation (retails[...]) is used to keep only one row for each duplicate in retails. The logical condition duplicated(retails) keeps the first occurrence of each duplicate, and duplicated(retails, fromLast = TRUE) keeps the last occurrence.
  • arrange from dplyr package is used to reorder rows by column values. In this code, it’s used to sort the duplicates data frame by POI_NAME and POI_ST_NAM.
  • kable from knitr package is used to create a markdown table from a data frame. In this code, it’s used to display the first 20 rows of the duplicates data frame.

Based on the table, we can see that the duplicates does comes from the same retail point of interest. Therefore, the following code chunk will execute the duplicate removal and show the result where number of rows have reduced from 37635 to 37463

Code
# Keep one row of the duplicates in the original dataset
retails <- retails[!duplicated(retails) | duplicated(retails, fromLast = TRUE), ]

# Display the resulting dataset
glimpse(retails)
Rows: 37,463
Columns: 4
$ POI_NAME   <chr> "TIAN KEE & CO", "PEOPLE TRADITIONAL CHINESE MEDICAL", "RIV…
$ POI_ST_NUM <chr> "12", "12", NA, NA, "588", "243", "208", "267", "231", "158…
$ POI_ST_NAM <chr> "DAKOTA CRES", "DAKOTA CRES", NA, NA, "SERANGOON RD", "ALEX…
$ geometry   <POINT [m]> POINT (33713.83 32023.15), POINT (33713.83 32023.15),…
  • duplicated from base R is used to identify duplicate elements in a vector or rows in a data frame. In this code, it’s applied to the entire retails data frame to find duplicates.
  • The subset operation (retails[...]) is used to keep only one row for each duplicate in retails. The logical condition !duplicated(retails) keeps the first occurrence of each duplicate, and duplicated(retails, fromLast = TRUE) keeps the last occurrence.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.
  • This code snippet removes duplicate rows from the retails data frame, retaining only one occurrence of each duplicate, and then provides an overview of the resulting data frame.

next, we try to visualize how does the retail point of interest distribution looks like in the map using the following code.

Code
# visualize the output
tm_shape(mpsz) +
  tm_polygons(alpha = 0.01) +
  tm_shape(retails) +
  tm_dots(col = 'lightcoral', id = 'POI_NAME') +
  tm_layout(main.title="Retail Distribution Map", main.title.position = "center")

  • tm_shape from tmap package prepares spatial data for plotting. It’s used here for mpsz (planning zones) and retails (retail locations).
  • tm_polygons adds a layer of polygons to the map. For mpsz, the polygons are set with high transparency (alpha = 0.01).
  • tm_dots adds a layer of dots to the map, representing retails data. The dots are colored light coral and are identified by POI_NAME.
  • tm_layout customizes the layout of the map, including the main title and its position.
  • This code snippet creates a thematic map displaying the distribution of retail outlets (retails) over a minimally styled polygonal map of planning zones (mpsz).

Aspatial

This subsection will import the aspatial data used in this project and check it. The data includes Passenger Volume by Origin Destination Bus Stops, HDB data which explanations can be found in Overview section.

Passenger Volume

Firstly, the following code will import the Passenger Volume by Origin Destination Bus Stops dataset. At the same time, it will also set the reference bus stop code data type to factor for easing compatibility issue and more efficient processing. As previously mentioned, this project will focus on weekday morning peak, so the code will also filter the data by that criteria, grouping it using the reference column, while summing the total trip for each unique grouped reference value. Finally, the code will generate output of summary statistics of the resulting dataset.

Code
# Load csv file
odb10 <- read_csv("../data/aspatial/origin_destination_bus_202310.csv.gz")

# change georeference data type into factors
odb10 <- odb10 %>%
  mutate(
    ORIGIN_PT_CODE = as.factor(ORIGIN_PT_CODE),
    DESTINATION_PT_CODE = as.factor(DESTINATION_PT_CODE)
  )

# filter and group the data
odb10 <- odb10 %>%
  filter(DAY_TYPE == "WEEKDAY", 
         TIME_PER_HOUR >= 6 & TIME_PER_HOUR <= 9) %>%
  group_by(ORIGIN_PT_CODE, DESTINATION_PT_CODE) %>%
  summarise(TRIPS = sum(TOTAL_TRIPS))

# check the summary statistics of resulting dataframe
describe(odb10)
odb10 

 3  Variables      242208  Observations
--------------------------------------------------------------------------------
ORIGIN_PT_CODE 
       n  missing distinct 
  242208        0     5029 

lowest : 01012 01013 01019 01029 01039, highest: 99139 99161 99171 99181 99189
--------------------------------------------------------------------------------
DESTINATION_PT_CODE 
       n  missing distinct 
  242208        0     5043 

lowest : 01012 01013 01019 01029 01039, highest: 99139 99161 99171 99181 99189
--------------------------------------------------------------------------------
TRIPS 
       n  missing distinct     Info     Mean      Gmd      .05      .10 
  242208        0     3335    0.997    107.2    180.8        1        1 
     .25      .50      .75      .90      .95 
       3       15       57      187      373 

lowest :     1     2     3     4     5, highest: 41201 46505 72829 74796 97600
--------------------------------------------------------------------------------
  • read_csv from readr package reads a CSV file into R, converting it to a data frame.
  • mutate from dplyr package is used to add new variables to a data frame or modify existing ones. Here, it converts ORIGIN_PT_CODE and DESTINATION_PT_CODE to factors.
  • filter from dplyr package is used to subset rows based on specified conditions. In this code, it filters data for weekdays during morning peak hours (6 to 9 AM).
  • group_by from dplyr package groups the data by specified columns, here by ORIGIN_PT_CODE and DESTINATION_PT_CODE.
  • summarise from dplyr package calculates summary statistics for each group, in this case summing up TOTAL_TRIPS.
  • describe from Hmisc package provides a detailed summary of an object’s contents, typically offering statistics like mean, standard deviation, frequency, and others.

The data provides details about the origin and destination points, along with the corresponding number of total trips, time information, and categorization based on day types. The variable summaries indicate the data distribution, with details such as the unique values, frequency, and descriptive statistics for each column.

HDB

the following code will import the HDB dataset and check the data frame.

Code
# Load csv file
hdb <- read_csv("../data/aspatial/hdb.csv")

# check the data
glimpse(hdb)
Rows: 12,442
Columns: 37
$ ...1                  <dbl> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14…
$ blk_no                <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1"…
$ street                <chr> "BEACH RD", "BEDOK STH AVE 1", "CANTONMENT RD", …
$ max_floor_lvl         <dbl> 16, 14, 2, 15, 4, 25, 12, 14, 12, 2, 15, 15, 13,…
$ year_completed        <dbl> 1970, 1975, 2010, 1982, 1975, 1982, 1975, 1977, …
$ residential           <chr> "Y", "Y", "N", "Y", "Y", "Y", "Y", "Y", "Y", "N"…
$ commercial            <chr> "Y", "N", "Y", "N", "Y", "N", "N", "N", "Y", "Y"…
$ market_hawker         <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N"…
$ miscellaneous         <chr> "N", "Y", "N", "N", "N", "N", "Y", "Y", "N", "N"…
$ multistorey_carpark   <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N"…
$ precinct_pavilion     <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N"…
$ bldg_contract_town    <chr> "KWN", "BD", "CT", "BD", "PRC", "BM", "QT", "GL"…
$ total_dwelling_units  <dbl> 142, 206, 0, 102, 55, 96, 125, 247, 95, 0, 220, …
$ `1room_sold`          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `2room_sold`          <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `3room_sold`          <dbl> 138, 204, 0, 0, 54, 0, 118, 0, 62, 0, 216, 214, …
$ `4room_sold`          <dbl> 1, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ `5room_sold`          <dbl> 2, 2, 0, 92, 1, 96, 7, 0, 33, 0, 4, 5, 0, 4, 0, …
$ exec_sold             <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ multigen_sold         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ studio_apartment_sold <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
$ `1room_rental`        <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, 0, 0…
$ `2room_rental`        <dbl> 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, 56, …
$ `3room_rental`        <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1,…
$ other_room_rental     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0,…
$ lat                   <dbl> 1.295097, 1.320852, 1.275488, 1.327969, 1.388610…
$ lng                   <dbl> 103.8541, 103.9337, 103.8414, 103.9227, 103.9881…
$ building              <chr> "RAFFLES HOTEL", "NIL", "PINNACLE @ DUXTON", "PI…
$ addr                  <chr> "1 BEACH ROAD RAFFLES HOTEL SINGAPORE 189673", "…
$ postal                <chr> "189673", "460001", "080001", "461001", "500001"…
$ SUBZONE_NO            <dbl> 2, 6, 3, 3, 1, 9, 10, 5, 3, 5, 1, 5, 2, 2, 1, 7,…
$ SUBZONE_N             <chr> "CITY HALL", "BEDOK SOUTH", "CHINATOWN", "KEMBAN…
$ SUBZONE_C             <chr> "DTSZ02", "BDSZ06", "OTSZ03", "BDSZ03", "CHSZ01"…
$ PLN_AREA_N            <chr> "DOWNTOWN CORE", "BEDOK", "OUTRAM", "BEDOK", "CH…
$ PLN_AREA_C            <chr> "DT", "BD", "OT", "BD", "CH", "BM", "QT", "GL", …
$ REGION_N              <chr> "CENTRAL REGION", "EAST REGION", "CENTRAL REGION…
$ REGION_C              <chr> "CR", "ER", "CR", "ER", "ER", "CR", "CR", "CR", …
  • read_csv from readr package reads a CSV file into R, converting it to a data frame. In this code, it reads data from a file located at "../data/aspatial/hdb.csv", which likely contains information about Housing Development Board (HDB) properties.
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.
  • This code snippet imports and provides an overview of the hdb data frame, which presumably contains data related to HDB properties.

To standardize the geospatial reference, we need to set the CRS code to 3414 based on the latitude and langitude values. The following code will execute it. Simultaneously, the code will also visualize the distribution of HDB across Singapore.

Code
hdb_sf <- st_as_sf(hdb,
                   coords = c("lng", "lat"),
                   crs = 4326) %>%
  st_transform(crs = 3414)

# visualize the output
tm_shape(mpsz)+
  tm_polygons(col = 'white', alpha = 0.01) +
  tm_shape(hdb_sf) +
  tm_dots(col = 'lightblue',
          id = 'building') +
  tm_layout(main.title = 'HDB Distribution Map', main.title.position = "center")

  • The hdb data frame, which contains information on the HDB buildings, is converted to a spatial data frame using the st_as_sf function from the sf package. The coords argument specifies the columns that contain the longitude and latitude coordinates, and the crs argument specifies the coordinate reference system (CRS) of the data. The CRS is then transformed to 3414, which is the EPSG code for the SVY21 projection used in Singapore.
  • The mpsz data frame, which contains information on the subzones in Singapore, is also a spatial data frame. It is used as the base layer for the map, and the tm_polygons function from the tmap package is used to draw the polygons of the subzones. The col argument sets the color of the polygons to white, and the alpha argument sets the transparency to 0.01, making them barely visible.
  • The hdb_sf data frame, which contains the spatial information on the HDB buildings, is used as the overlay layer for the map, and the tm_dots function from the tmap package is used to draw the points representing the buildings. The col argument sets the color of the points to light blue, and the id argument sets the column that contains the building names.
  • The tm_layout function from the tmap package is used to customize the layout of the map. The main.title argument sets the title of the map to “HDB Distribution Map”, and the main.title.position argument sets the position of the title to center.

Schools

Geocoding involves converting an address or postal code into geographic coordinates like latitude and longitude. The OneMap API, particularly the Search API by the Singapore Land Authority, facilitates this process, retrieving latitude, longitude, and x,y coordinates based on a given address or postal code.

In R, the provided code utilizes the read_csv function from the readr package to read input data from a CSV file. The geocoding is executed using the SLA OneMap API. The httr package’s HTTP call functions then send individual records to the OneMap geocoding server.

The geocoding operation results in two data frames: found for successfully geocoded records and not_found for unsuccessful ones. The found data table is merged with the initial CSV data table using a unique identifier (POSTAL) and saved as a new CSV file named found.

Code
url <- "https://www.onemap.gov.sg/api/common/elastic/search"

csv <- read_csv("../data/aspatial/Generalinformationofschools.csv")
postcodes <- csv$postal_code

found <- data.frame()
not_found <- data.frame()

for(postcode in postcodes){
  query <-list('searchVal' = postcode, 'returnGeom'='Y', 'getAddrDetails'='Y', 'pageNum' = '1')
  res  <- GET(url, query=query)
  
  if((content(res)$found)!=0)
    found<-rbind(found, data.frame(content(res))[4:13])
  else {
  not_found = data.frame(postcode)
  }
}

glimpse(found)
Rows: 345
Columns: 10
$ results.SEARCHVAL <chr> "THE LEARNING HARBOUR @ ADMIRALTY PRIMARY SCHOOL", "…
$ results.BLK_NO    <chr> "11", "31", "10", "751", "100", "2A", "31", "19", "1…
$ results.ROAD_NAME <chr> "WOODLANDS CIRCLE", "WOODLANDS CRESCENT", "YISHUN ST…
$ results.BUILDING  <chr> "THE LEARNING HARBOUR @ ADMIRALTY PRIMARY SCHOOL", "…
$ results.ADDRESS   <chr> "11 WOODLANDS CIRCLE THE LEARNING HARBOUR @ ADMIRALT…
$ results.POSTAL    <chr> "738907", "737916", "768643", "768928", "579646", "1…
$ results.X         <chr> "24315.9398124339", "24559.0472937012", "27958.13714…
$ results.Y         <chr> "47135.3542042952", "47504.7873554379", "46096.26276…
$ results.LATITUDE  <chr> "1.44254963931583", "1.44589068910993", "1.433152715…
$ results.LONGITUDE <chr> "103.800213682734", "103.802398196596", "103.8329424…
  • read_csv from readr package reads a CSV file into R, converting it to a data frame.
  • GET from httr package sends an HTTP GET request to a specified URL. In this code, it’s used to query a web API for each postcode.
  • content from httr package extracts content from a response object returned by GET.
  • rbind from base R combines data frames by rows. Here, it’s used to append rows to found or not_found based on the API response.
  • A for loop is used to iterate over postcodes and make API requests for each postcode.
  • Conditional logic (if...else) checks if the found key in the API response is non-zero (indicating successful location finding) to decide whether to append to found or not_found.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.

From previous in-class exercise, we already know that the not found data consist of Zhenghua Secondary School. Therefore, the following code will merge the data from previous process, then manually input the latitude and longitude data of the school.

Code
schools = merge(csv, found, by.x = 'postal_code', by.y = 'results.POSTAL', all = TRUE)

# manually add the Zhenghua Secondary School data
schools[schools$school_name == "ZHENGHUA SECONDARY SCHOOL", "results.LATITUDE"] <- 1.3887
schools[schools$school_name == "ZHENGHUA SECONDARY SCHOOL", "results.LONGITUDE"] <- 103.7652

# check the output
glimpse(schools)
Rows: 350
Columns: 40
$ postal_code        <chr> "088256", "099138", "099757", "099840", "109100", "…
$ school_name        <chr> "CANTONMENT PRIMARY SCHOOL", "CHIJ ST. THERESA'S CO…
$ url_address        <chr> "http://www.cantonmentpri.moe.edu.sg", "http://www.…
$ address            <chr> "1    Cantonment Close", "160  LOWER DELTA ROAD", "…
$ telephone_no       <chr> "65119555", "64775777", "62730096", "62733937", "62…
$ telephone_no_2     <chr> "na", "na", "na", "na", "na", "na", "na", "na", "na…
$ fax_no             <chr> "65119556", "64775700", "62731710", "62763083", "62…
$ fax_no_2           <chr> "na", "na", "na", "na", "na", "na", "na", "na", "na…
$ email_address      <chr> "cantonment_ps@moe.edu.sg", "CHIJSTCS@MOE.EDU.SG", …
$ mrt_desc           <chr> "Tanjong Pagar Outram Park", "HARBOURFRONT MRT, TIO…
$ bus_desc           <chr> "75, 167, 196", "65, 121, 123, 123M, 124, 131, 131M…
$ principal_name     <chr> "MRS MANOKARA SUGUNAVATHI", "MDM TAN MEI MEI JENNY"…
$ first_vp_name      <chr> "MRS AUDREA CHIN", "MDM ONG LEE LEE", "MS NG CHIOU …
$ second_vp_name     <chr> "MISS CHENG SHIN MIIN", "MISS KUO ZHAOYAN, FELICIA"…
$ third_vp_name      <chr> "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NU…
$ fourth_vp_name     <chr> "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NU…
$ fifth_vp_name      <chr> "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NU…
$ sixth_vp_name      <chr> "NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NU…
$ dgp_code           <chr> "BUKIT MERAH", "BUKIT MERAH", "BUKIT MERAH", "BUKIT…
$ zone_code          <chr> "SOUTH", "SOUTH", "SOUTH", "SOUTH", "SOUTH", "SOUTH…
$ type_code          <chr> "GOVERNMENT SCHOOL", "GOVERNMENT-AIDED SCH", "GOVER…
$ nature_code        <chr> "CO-ED SCHOOL", "GIRLS' SCHOOL", "GIRLS' SCHOOL", "…
$ session_code       <chr> "SINGLE SESSION", "SINGLE SESSION", "SINGLE SESSION…
$ mainlevel_code     <chr> "PRIMARY", "SECONDARY", "PRIMARY", "PRIMARY", "PRIM…
$ sap_ind            <chr> "No", "No", "No", "No", "No", "No", "No", "No", "Ye…
$ autonomous_ind     <chr> "No", "No", "No", "No", "No", "No", "No", "No", "No…
$ gifted_ind         <chr> "No", "No", "No", "No", "No", "No", "No", "No", "Ye…
$ ip_ind             <chr> "No", "No", "No", "No", "No", "No", "No", "No", "No…
$ mothertongue1_code <chr> "Chinese", "Chinese", "Chinese", "Chinese", "Chines…
$ mothertongue2_code <chr> "Malay", "Malay", "Malay", "Malay", "Malay", "Malay…
$ mothertongue3_code <chr> "Tamil", "Tamil", "Tamil", "Tamil", "Tamil", "na", …
$ results.SEARCHVAL  <chr> "KIDZ TREEHOUSE @ CANTONMENT", "CHIJ SAINT THERESA'…
$ results.BLK_NO     <chr> "1", "160", "1", "1", "91", "147", "301", "50", "30…
$ results.ROAD_NAME  <chr> "CANTONMENT CLOSE", "LOWER DELTA ROAD", "BUKIT TERE…
$ results.BUILDING   <chr> "KIDZ TREEHOUSE @ CANTONMENT", "CHIJ SAINT THERESA'…
$ results.ADDRESS    <chr> "1 CANTONMENT CLOSE KIDZ TREEHOUSE @ CANTONMENT SIN…
$ results.X          <chr> "28748.1620587641", "26789.3781491434", "27402.9654…
$ results.Y          <chr> "28659.9995642845", "28647.4426490944", "28579.8478…
$ results.LATITUDE   <chr> "1.27546534984202", "1.27535177510054", "1.27474048…
$ results.LONGITUDE  <chr> "103.840041087946", "103.822440701642", "103.827954…
  • merge from base R combines two data frames by matching rows based on specified columns. In this code, csv and found are merged using postal_code from csv and results.POSTAL from found, with the all = TRUE option to include all rows from both data frames.
  • Manual data assignment is used to add specific latitude and longitude values for “ZHENGHUA SECONDARY SCHOOL” using base R’s subsetting and assignment operations.
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

To standardize the geospatial reference, we need to set the CRS code to 3414 based on the latitude and langitude values. The following code will execute it. Simultaneously, the code will also visualize the distribution of Schools across Singapore.

Code
schools_sf <- schools %>%
  rename(
    latitude = "results.LATITUDE",
    longitude = "results.LONGITUDE"
  ) %>%
  select(
    postal_code, 
    school_name, 
    latitude, 
    longitude
  ) %>%
  st_as_sf(
    coords = c("longitude", "latitude"),
    crs=4326
  ) %>%
  st_transform(
    crs = 3414
  )

# visualize the output
tm_shape(mpsz)+
  tm_polygons(col = 'white', alpha = 0.01) +
  tm_shape(schools_sf) +
  tm_dots(col = 'lightgreen',
          id = 'building') +
  tm_layout(main.title = 'Schools Distribution Map', main.title.position = "center")

  • rename from dplyr package changes the names of specific columns in a data frame for clarity. Here, it renames columns in schools to latitude and longitude.
  • select from dplyr package subsets specific columns from a data frame, retaining only postal_code, school_name, latitude, and longitude.
  • st_as_sf from sf package converts a data frame to a simple features (sf) object, specifying the coordinates for spatial data.
  • st_transform from sf package transforms the coordinate reference system (CRS) of the sf object.
  • tm_shape from tmap package prepares spatial data for plotting, used here for mpsz and schools_sf.
  • tm_polygons adds a layer of polygons to the map, representing mpsz.
  • tm_dots adds a layer of dots to the map, representing schools_sf.
  • tm_layout customizes the layout of the map, including the main title and its position.
  • This code snippet creates a thematic map showing the distribution of schools over a map with minimal polygon representation.

3 Data Wrangling

In this part, the following code will create honeycomb grid with hexagons with a distance of 375m from the center to the midpoint of the edge as the traffic analysis zone (TAZ). These hexagons will be the zones for the analysis. Simultaneously, the code will also intersect the grid with the bus stop data, and filter out grid that does not have any bus stop.

Code
# Create hexagonal grid based on bus stop locations
hexagonal_grid <- st_make_grid(busstop,
                               cellsize = 750,
                               what = "polygons",
                               square = FALSE)

# Convert hexagonal grid to spatial dataframe
hex_grid_sf <- st_sf(hex_grid = hexagonal_grid) %>%
  mutate(hexagon_id = 1:length(lengths(hexagonal_grid)))

# Count the number of bus stops within each hexagon
hex_grid_sf$num_bus_stops = lengths(st_intersects(hex_grid_sf, busstop))

# Filter hexagons with at least one bus stop
hexagons_with_bus_stops <- filter(hex_grid_sf, num_bus_stops > 0)

# check the output
glimpse(hexagons_with_bus_stops)
Rows: 834
Columns: 3
$ hex_grid      <POLYGON [m]> POLYGON ((3970.122 27348.13..., POLYGON ((4345.1…
$ hexagon_id    <int> 23, 44, 46, 66, 67, 68, 86, 87, 88, 89, 90, 109, 110, 11…
$ num_bus_stops <int> 1, 1, 2, 1, 4, 1, 1, 1, 4, 2, 1, 3, 2, 5, 2, 1, 1, 5, 3,…
  • st_make_grid from sf package creates a grid over a spatial object (busstop). Here, it generates a hexagonal grid with a specified cell size, forming polygons instead of squares.
  • st_sf from sf package converts the hexagonal grid into an sf (simple features) object.
  • mutate from dplyr package is used to add new columns to a data frame or modify existing ones. Here, it’s used to create a hexagon_id column.
  • lengths from base R calculates the lengths of the elements in a list. It’s used here to assign IDs to each hexagon.
  • st_intersects from sf package finds the intersection between two spatial objects, in this case, between each hexagon and the bus stops.
  • filter from dplyr package is used to retain rows based on a specified condition. Here, it filters hexagons that contain at least one bus stop.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.

Next, we will visualize the distribution of bus stop across Singapore.

Code
# Plot the number of bus stops per hexagon with a color gradient and legend
tm_shape(hexagons_with_bus_stops) +
  tm_borders() +
  tm_fill("num_bus_stops",
          title = "Bus Stop Density",
          style = "jenks",
          palette = "YlOrRd",
          legend.show = TRUE) +
  tm_layout(main.title = 'Bus Stop Density in Hexagonal Grid',
            main.title.position = "center",
            legend.position = c("right", "top"))

  • st_make_grid from sf package is used to create a grid over a spatial object (busstop). Here, it generates a hexagonal grid with a specified cell size.
  • st_sf from sf package converts the hexagonal grid into an sf (simple features) object.
  • mutate from dplyr package is used to add new columns to a data frame or modify existing ones. Here, it’s used to create a hexagon_id column.
  • lengths from base R calculates the lengths of the elements in a list. It’s used here to assign IDs to each hexagon.
  • st_intersects from sf package finds the intersection between two spatial objects, in this case, between each hexagon and the bus stops.
  • filter from dplyr package is used to retain rows based on a specified condition. Here, it filters hexagons that contain at least one bus stop.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.

In this step, the following code will join the bus stop and hexagon data, and filter out only the required columns for following sections.

Code
# Perform a spatial join
busstop_with_hex_info <- st_join(busstop, hexagons_with_bus_stops, by = NULL, join = st_within)

# Select the relevant columns
busstop_with_hex_info <- busstop_with_hex_info %>%
  select(BUS_STOP_N, BUS_ROOF_N, LOC_DESC, hexagon_id, geometry) %>%
  mutate(
    BUS_STOP_N = as.factor(BUS_STOP_N)
  )

# Display the resulting data
glimpse(busstop_with_hex_info)
Rows: 5,144
Columns: 5
$ BUS_STOP_N <fct> 22069, 32071, 44331, 96081, 11561, 66191, 23389, 54411, 285…
$ BUS_ROOF_N <chr> "B06", "B23", "B01", "B05", "B05", "B03", "B02A", "B02", "B…
$ LOC_DESC   <chr> "OPP CEVA LOGISTICS", "AFT TRACK 13", "BLK 239", "GRACE IND…
$ hexagon_id <int> 573, 560, 977, 2129, 1159, 1543, 509, 1502, 660, 2150, 448,…
$ geometry   <POINT [m]> POINT (13576.31 32883.65), POINT (13228.59 44206.38),…
  • st_join from sf package performs a spatial join between two spatial objects. In this case, it joins busstop with hexagons_with_bus_stops. The join = st_within argument specifies that bus stops are joined with hexagons in which they are located.
  • select from dplyr package subsets specific columns from the joined spatial data frame. This code retains columns like BUS_STOP_N, BUS_ROOF_N, LOC_DESC, hexagon_id, and geometry.
  • mutate from dplyr package is used to add new variables or modify existing ones. Here, it converts BUS_STOP_N to a factor.
  • glimpse from dplyr package provides a transposed summary of the data frame, giving a quick look at its structure, including the types of columns and the first few entries in each column.

now, we will finally join the passenger trip data with the hex and bus stop data. considering that the data have origin and destination bus stop, we will also have hex for both.

Code
# Add origin_hex to odb10
odb_hex <- odb10 %>%
  left_join(busstop_with_hex_info %>% select(BUS_STOP_N, hexagon_id), 
            by = c("ORIGIN_PT_CODE" = "BUS_STOP_N")) %>%
  rename(origin_hex = hexagon_id)

# Add destination_hex to odb10
odb_hex <- odb_hex %>%
  left_join(busstop_with_hex_info %>% select(BUS_STOP_N, hexagon_id), 
            by = c("DESTINATION_PT_CODE" = "BUS_STOP_N")) %>%
  rename(destination_hex = hexagon_id)

# Remove additional geometry columns
odb_hex <- odb_hex %>%
  select(-contains("geometry."))

# Convert hex id to factor
odb_hex <- odb_hex %>%
  mutate(
    origin_hex = as.factor(origin_hex),
    destination_hex = as.factor(destination_hex)
  )

# check the output
glimpse(odb_hex)
Rows: 242,208
Columns: 5
Groups: ORIGIN_PT_CODE [5,029]
$ ORIGIN_PT_CODE      <fct> 01012, 01012, 01012, 01012, 01012, 01012, 01012, 0…
$ DESTINATION_PT_CODE <fct> 01112, 01113, 01121, 01211, 01311, 07371, 60011, 6…
$ TRIPS               <dbl> 290, 118, 77, 118, 165, 14, 30, 16, 35, 26, 2, 8, …
$ origin_hex          <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 14…
$ destination_hex     <fct> 1496, 1496, 1538, 1538, 1559, 1559, 1539, 1581, 16…
  • left_join from dplyr package merges two data frames by matching values in specified columns. Here, it’s used twice to merge busstop_with_hex_info with odb10, first for origin and then for destination bus stops, based on matching bus stop codes.
  • select from dplyr package subsets specific columns from a data frame. It’s used to select BUS_STOP_N and hexagon_id from busstop_with_hex_info.
  • rename from dplyr package changes the names of specific columns in a data frame. In this code, hexagon_id is renamed to origin_hex and destination_hex.
  • contains within select(-contains("geometry.")) is a helper function from dplyr used to remove columns that contain a specific string ("geometry." in this case).
  • mutate from dplyr package is used to convert origin_hex and destination_hex to factors.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.

Before going into the next step, the following code will firstly make sure that there are no duplicates in the dataset.

Code
if_else(n_distinct(odb_hex) == nrow(odb_hex), "no duplicates detected", "possible duplicates detected")
[1] "no duplicates detected"
  • n_distinct from dplyr package calculates the number of unique values in a vector. Here, it’s used to count the unique values in the entire odb_hex data frame.
  • nrow from base R returns the number of rows in a data frame. Here, it’s used to get the total number of rows in odb_hex.
  • if_else from dplyr package performs a vectorized conditional operation. In this code, it checks if the number of unique values in odb_hex equals the total number of rows. If they are equal, it returns “no duplicates detected”; otherwise, it returns “possible duplicates detected”.

Next, using the following code, we will build the O-D matrix which represent various which aggregate the trips on a one on one origin vs destination basis.

Code
# Remove rows with missing values
clean_odb <- odb_hex[complete.cases(odb_hex), ]

# Aggregate data based on origin_hex and destination_hex
odb_flow <- clean_odb %>%
  group_by(origin_hex, destination_hex) %>%
  summarise(trips = sum(TRIPS),
            origin_hex = unique(origin_hex),
            destination_hex = unique(destination_hex)) %>%
  ungroup()

# check the output
glimpse(odb_flow)
Rows: 65,510
Columns: 3
$ origin_hex      <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, …
$ destination_hex <fct> 1496, 1538, 1539, 1559, 1581, 1582, 1601, 1602, 1603, …
$ trips           <dbl> 1091, 766, 230, 311, 32, 63, 153, 77, 29, 127, 218, 15…
  • complete.cases from base R finds rows with no missing values (NA). Here, it’s used to filter odb_hex and remove rows with missing data.
  • group_by from dplyr package groups the data by specified columns, here by origin_hex and destination_hex.
  • summarise from dplyr package calculates summary statistics for each group, here summing up TRIPS and getting unique values for origin_hex and destination_hex.
  • ungroup from dplyr package removes the grouping structure from the data frame.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.

After getting the origin-destination matrix, we need to calculate the distance between each origin and destination pair which will be used later for creating desire lines. The following code chunk will execute the required steps.

Code
# set busstop to spatial
busstop_sp <- as(busstop_with_hex_info, "Spatial")

# calculate the distance
tp_dist <- sp::spDists(busstop_sp, longlat = FALSE)

# add column names to the variable
hex_id_names <- busstop_sp$hexagon_id
colnames(tp_dist) <- paste0(hex_id_names)
rownames(tp_dist) <- paste0(hex_id_names)

# melt the table
dist <- reshape2::melt(tp_dist) %>%
  rename(origin_hex = Var1,
         destination_hex = Var2,
         distance = value) %>%
  mutate(origin_hex = as.factor(origin_hex),
         destination_hex = as.factor(destination_hex))

# remove duplicates
dist <- distinct(dist, origin_hex, destination_hex, .keep_all = TRUE)

# Perform left join to odb_flow with factor conversion
odb_flow <- odb_flow %>%
  left_join(
    dist %>% select(origin_hex, destination_hex, distance) %>%
      mutate(across(c(origin_hex, destination_hex), as.character)),
    by = c("origin_hex", "destination_hex")
  ) %>%
  mutate(across(c(origin_hex, destination_hex), as.factor))

# check the output
glimpse(odb_flow)
Rows: 65,510
Columns: 4
$ origin_hex      <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, …
$ destination_hex <fct> 1496, 1538, 1539, 1559, 1581, 1582, 1601, 1602, 1603, …
$ trips           <dbl> 1091, 766, 230, 311, 32, 63, 153, 77, 29, 127, 218, 15…
$ distance        <dbl> 337.7979, 1089.6612, 1816.6628, 1553.0464, 2308.2822, …
  • as from base R converts an object from one class to another, here converting busstop_with_hex_info to a Spatial object (Spatial).
  • spDists from sp package calculates distances between points in a spatial object. The longlat = FALSE parameter indicates that the coordinates are in a planar projection.
  • paste0 from base R concatenates strings without a separator. It’s used to create column and row names based on hexagon_id.
  • melt from reshape2 package reshapes data from wide to long format. Here, it’s used to transform the distance matrix into a long format data frame.
  • rename and mutate from dplyr package are used to rename columns and modify their values, respectively.
  • distinct from dplyr package removes duplicate rows from a data frame.
  • left_join from dplyr package merges two data frames based on matching values in specified columns.
  • across from dplyr package is used in mutate to apply a function (here, as.character or as.factor) to multiple columns.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.

This analysis is focused on the traffic between zones. Therefore the following code chunk will remove intra-zonal flows.

Code
odb_flow <- odb_flow %>%
  filter(as.character(origin_hex) != as.character(destination_hex))

# check the output
glimpse(odb_flow)
Rows: 64,885
Columns: 4
$ origin_hex      <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, …
$ destination_hex <fct> 1496, 1538, 1539, 1559, 1581, 1582, 1601, 1602, 1603, …
$ trips           <dbl> 1091, 766, 230, 311, 32, 63, 153, 77, 29, 127, 218, 15…
$ distance        <dbl> 337.7979, 1089.6612, 1816.6628, 1553.0464, 2308.2822, …
  • filter from dplyr package is used to retain rows in a data frame based on a specified condition. In this code, it filters the odb_flow data frame to keep only the rows where origin_hex and destination_hex are different.
  • The as.character function from base R is used to ensure that the comparison between origin_hex and destination_hex is done as character strings, likely because these columns are factors or some other class.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.
  • This code snippet modifies the odb_flow data frame to exclude rows where the origin and destination hexagons are the same, then provides an overview of the resulting data.

The exclusion of intra-zonal flows from the Spatial Interaction Model calibration process is driven by the desire to focus on modeling and understanding interactions between different zones, without interference from flows within the same zone.

Intra-zonal flows, representing movements within a single zone, may not contribute significantly to the overall spatial interaction patterns that the model aims to capture. By removing intra-zonal flows, the analysis can concentrate on the dynamics and factors influencing interactions between distinct zones, providing a clearer and more interpretable representation of spatial relationships.

Including intra-zonal flows in the model might introduce unnecessary complexity or noise, potentially affecting the accuracy and interpretability of the model’s results. Therefore, excluding intra-zonal flows is a methodological choice to streamline the analysis and enhance the model’s ability to capture meaningful inter-zonal interactions.

4 Visualize the Desire Lines

The od2line function plays a pivotal role in transforming origin-destination data into a format suitable for generating flow lines on a map. This function requires three essential arguments: flow, zones, and zone_code.

  1. flow: This is a data frame that encapsulates the origin-destination data. The first column of this data frame should align with the first column of the data present in the zones dataframe. In the context of the provided R code snippet, the variable ‘odb_flow’ is used as the flow data frame.

  2. zones: Here, the origin and destination points of the travels are specified. This argument is crucial for mapping out the flow lines accurately. The actual geographical data, represented by the dataframe ‘hexagons_with_bus_stops,’ is employed as the zones dataframe in the given code.

  3. zone_code: This parameter involves providing the name of the variable within the ‘zones’ dataframe that contains the unique identifiers (IDs) of the zones. In the presented R code, the variable ‘hexagon_id’ serves this purpose, linking the flow data with the corresponding geographical zones.

To demonstrate the practical implementation of the od2line function, the provided code snippet utilizes the ‘odb_flow’ as the origin-destination data, ‘hexagons_with_bus_stops’ as the geographical zones, and designates ‘hexagon_id’ as the variable containing zone IDs. The resulting flowline object is then explored using the ‘glimpse’ function, offering a concise overview of its structure and contents.

Code
flowline <- od2line(flow = odb_flow, 
        zones = hexagons_with_bus_stops,
        zone_code = 'hexagon_id')

glimpse(flowline)
Rows: 64,885
Columns: 5
$ origin_hex      <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, …
$ destination_hex <fct> 1496, 1538, 1539, 1559, 1581, 1582, 1601, 1602, 1603, …
$ trips           <dbl> 1091, 766, 230, 311, 32, 63, 153, 77, 29, 127, 218, 15…
$ distance        <dbl> 337.7979, 1089.6612, 1816.6628, 1553.0464, 2308.2822, …
$ geometry        <LINESTRING [m]> LINESTRING (29845.12 31028...., LINESTRING …
  • od2line is function from [od](https://itsleeds.github.io/od/#:~:text=The%20od2line()%20function%2C%20for,movement%20between%20origins%20and%20destinations%3A&text=%23%3E%202%20LINESTRING%20(%2D1.518911%2053.79…) used for converting origin-destination data (odb_flow) into spatial lines. It takes flow data and corresponding spatial zones (hexagons_with_bus_stops), and uses a zone identifier (zone_code set as ‘hexagon_id’) to create spatial lines representing the flow between origins and destinations.
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

4.1 3rd Quantile Trips (175)

Considering the volume of the flowline, we will try to focus on the most important part of the flows. Firstly, we will try to filter on the 3rd Quantile. To do that, the following code will get the quantile of the trips.

Code
summary(flowline$trips)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    1.0     7.0    38.0   375.7   175.0 97602.0 
  • summary from base R provides a concise summary of a vector, list, data frame, or other R objects. In this code, it is used to produce a summary of the trips column in the flowline data frame.
  • This summary typically includes the minimum, maximum, median, first quartile, third quartile, and mean of the numeric data in the trips column.
  • This code snippet is useful for getting a quick statistical overview of the trips data, such as understanding its distribution, central tendency, and spread.

We can see that the 3rd quantile is at 175 trips. The number will be used to plot the desire lines on the following code.

Code
tmap_mode('plot')
tmap_options(check.and.fix = TRUE)
tm_shape(mpsz) +
  tm_polygons(col = 'white') +
tm_shape(hexagons_with_bus_stops) +
  tm_polygons(alpha = 0.4,
              col = 'gray') +
flowline %>%
  filter(trips >= 175) %>%
  tm_shape() +
  tm_lines(col = 'coral',
           lwd = "trips",
           scale = c(0.1, 1, 2, 3, 4, 5, 6, 7),
           alpha = 0.2)+
  tm_layout(main.title = 'Weekday Morning Peak Flow for 3rd Quantile Trips', main.title.position = 'center')

  • tmap_mode and tmap_options from tmap package are used to set up the mode and options for thematic maps.
  • tm_shape is used to specify the spatial object to be visualized.
  • tm_polygons is used to add polygons to the map.
  • filter from dplyr package is used to filter rows in the flowline data frame where trips is greater than or equal to 175.
  • tm_lines is used to add lines to the map.
  • tm_layout is used to modify the layout of the map.

The central and eastern regions of Singapore show a denser accumulation of flows, indicated by the more intense coral coloration. This suggests higher bus trip volumes in these areas, possibly reflecting a greater demand for public transportation due to higher population density and commercial activity.

The visual spread of the flow lines, with varying line widths representing trip volumes, illustrates that the central region, likely encompassing the Central Business District (CBD), is a major hub of commuter activity, with thick lines indicating a high concentration of bus trips.

The eastern region, possibly including areas like Changi and the vicinity of the East Coast, shows a significant amount of flow as well. This could be attributed to the presence of residential areas, business parks, and the airport, all generating substantial public transport usage.

The map also shows a relatively lighter flow in the northern and western regions, suggesting either fewer bus trips or lower volumes within the 3rd quantile range.

4.2 99th Percentile Trips (6082)

Since filtering on 3rd quantile shows that the map is still hardly distinguishable, next we will try to use percentile. The following code will show the cutoff for the percentiles.

Code
quantile(flowline$trips, probs = seq(0, 1, 0.01), na.rm = TRUE)
      0%       1%       2%       3%       4%       5%       6%       7% 
    1.00     1.00     1.00     1.00     1.00     1.00     1.00     1.00 
      8%       9%      10%      11%      12%      13%      14%      15% 
    2.00     2.00     2.00     2.00     2.00     2.00     3.00     3.00 
     16%      17%      18%      19%      20%      21%      22%      23% 
    3.00     4.00     4.00     4.00     5.00     5.00     6.00     6.00 
     24%      25%      26%      27%      28%      29%      30%      31% 
    7.00     7.00     8.00     8.00     9.00    10.00    11.00    12.00 
     32%      33%      34%      35%      36%      37%      38%      39% 
   13.00    13.00    14.00    15.00    16.00    18.00    19.00    20.00 
     40%      41%      42%      43%      44%      45%      46%      47% 
   21.00    22.00    24.00    25.00    27.00    28.00    30.00    32.00 
     48%      49%      50%      51%      52%      53%      54%      55% 
   33.00    35.00    38.00    40.00    42.00    45.00    47.00    50.00 
     56%      57%      58%      59%      60%      61%      62%      63% 
   53.00    57.00    60.00    64.00    67.00    71.00    76.00    81.00 
     64%      65%      66%      67%      68%      69%      70%      71% 
   86.00    91.00    97.00   103.00   110.00   117.00   125.00   134.00 
     72%      73%      74%      75%      76%      77%      78%      79% 
  143.00   153.00   163.00   175.00   188.00   202.00   217.00   233.00 
     80%      81%      82%      83%      84%      85%      86%      87% 
  254.00   276.00   301.00   327.00   357.00   391.00   429.24   475.00 
     88%      89%      90%      91%      92%      93%      94%      95% 
  523.00   586.00   661.00   747.44   854.00   998.00  1170.00  1413.80 
     96%      97%      98%      99%     100% 
 1766.00  2335.44  3384.32  6082.16 97602.00 
  • quantile from stats package in base R computes sample quantiles for a given set of data. In this code, it’s used to calculate quantiles for the trips column in the flowline data frame.
  • probs = seq(0, 1, 0.01) specifies the probabilities for which quantiles should be calculated, creating a sequence from 0 to 1 in increments of 0.01 (i.e., percentiles).
  • na.rm = TRUE indicates that NA (missing) values should be removed before the calculation.
  • This code snippet produces a detailed set of percentiles (from 0th to 100th, at every 1%) for the trips data, useful for understanding its distribution in greater detail, including identifying any potential outliers or patterns in the data spread.

We can see that distinguishable increase can be seen on the 99th percentile at 6082 trips. The number will be used to plot the desire lines on the following code.

Code
tmap_mode('plot')
tmap_options(check.and.fix = TRUE)
tm_shape(mpsz) +
  tm_polygons(col = 'white') +
tm_shape(hexagons_with_bus_stops) +
  tm_polygons(alpha = 0.4,
              col = 'gray') +
flowline %>%
  filter(trips >= 6082) %>%
  tm_shape() +
  tm_lines(col = 'coral',
           lwd = "trips",
           scale = c(0.1, 1, 2, 3, 4, 5, 6, 7))+
  tm_layout(main.title = 'Weekday Morning Peak Flow for 99th Percentile Trips', main.title.position = 'center',
            main.title.size = 1.2)

  • tmap_mode from tmap package sets the mode for creating maps. Here, the mode is set to 'plot' for static map rendering.
  • tmap_options configures options for tmap functions. The check.and.fix = TRUE option is used to automatically check and fix invalid polygons in spatial data.
  • tm_shape prepares spatial data for plotting, used here for mpsz and hexagons_with_bus_stops.
  • tm_polygons adds polygon layers. For mpsz, polygons are filled with white color; for hexagons_with_bus_stops, polygons are filled with gray color and partial transparency (alpha = 0.4).
  • filter from dplyr package is used to subset flowline data based on the number of trips, retaining lines with trips of at least 6082.
  • tm_lines adds a layer of lines representing flowline. Line properties like color (col), width (lwd), and scaling are specified.
  • tm_layout customizes the map layout, including the main title and its style.
  • This code snippet creates a thematic map that visualizes “Weekday Morning Peak Flow for 99th Percentile Trips”, combining polygonal maps of planning zones and hexagons with flow lines based on the specified criteria.

The major flow lines, represented in coral, indicate a concentration of the highest volume bus trips. These lines are more pronounced, showing that certain routes experience significantly higher bus traffic compared to others.

There is a noticeable pattern of high-volume bus traffic from the north towards the downtown area, indicating a substantial commuter influx into the central business district from northern residential areas.

Similarly, increased bus flows from the west towards downtown suggest a heavy commuting pattern, which could be due to residential-to-business daily travel.

The north-eastern region also exhibits a strong flow towards the central areas, again possibly reflecting the movement of residents to central workplaces or educational institutions.

Short trips within regions have become more visible at this percentile, indicating that there are specific short-distance routes that are heavily utilized and might be of interest for targeted transport planning.

4.3 3rd Quantile Distance (8923)

Next, we will try to show desire lines with a filter on the distance to see where are the longer distant travels happening. Firstly, we need to check the quantile cutoff with the following code.

Code
summary(flowline$distance)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
   36.87  2975.46  5478.89  6347.13  8923.04 25292.04 
  • quantile from stats package in base R computes sample quantiles for a given set of data. In this code, it’s used to calculate quantiles for the distance column in the flowline data frame.
  • probs = seq(0, 1, 0.01) specifies the probabilities for which quantiles should be calculated, creating a sequence from 0 to 1 in increments of 0.01 (i.e., percentiles).
  • na.rm = TRUE indicates that NA (missing) values should be removed before the calculation.
  • This code snippet produces a detailed set of percentiles (from 0th to 100th, at every 1%) for the distance data, useful for understanding its distribution in greater detail, including identifying any potential outliers or patterns in the data spread.
  • summary from base R provides a concise summary of a vector, list, data frame, or other R objects. In this code, it is used to produce a summary of the distance column in the flowline data frame.
  • This summary typically includes the minimum, maximum, median, first quartile, third quartile, and mean of the numeric data in the distance column.
  • This code snippet is useful for getting a quick statistical overview of the distance data, such as understanding its distribution, central tendency, and spread.

We can see that the 3rd quantile is at 8923 distant. The number will be used to plot the desire lines on the following code.

Code
tmap_mode('plot')
tmap_options(check.and.fix = TRUE)
tm_shape(mpsz) +
  tm_polygons(col = 'white') +
tm_shape(hexagons_with_bus_stops) +
  tm_polygons(alpha = 0.4,
              col = 'gray') +
flowline %>%
  filter(distance >= 8923) %>%
  tm_shape() +
  tm_lines(col = 'coral',
           lwd = "trips",
           scale = c(0.1, 1, 2, 3, 4, 5, 6, 7),
           alpha = 0.2)+
  tm_layout(main.title = 'Weekday Morning Peak Flowline for 3rd Quantile Distance', main.title.position = 'center',
            main.title.size = 1.2)

  • tmap_mode from tmap package sets the mode for creating thematic maps. In this code, it’s set to ‘plot’ to produce static maps.
  • tmap_options from tmap package sets the global options for thematic maps. In this code, it’s used to enable the check and fix option, which automatically fixes invalid geometries.
  • tm_shape from tmap package specifies the spatial data to be mapped. In this code, it’s used to map the mpsz and hexagons_with_bus_stops data frames, which contain polygon geometries, and the flowline data frame, which contains line geometries.
  • tm_polygons from tmap package adds polygons to the map. In this code, it’s used to fill the polygons with white and gray colors, and adjust the transparency with the alpha argument.
  • tm_lines from tmap package adds lines to the map. In this code, it’s used to color the lines with coral, vary the line width with the trips variable, and scale the line width with the scale argument.
  • tm_layout from tmap package sets the layout of the map. In this code, it’s used to add a main title, position it at the center, and adjust its size.

The visualization indicates that longer-distance travel is a significant component of morning commuting, highlighting the importance of efficient transportation links from suburban areas to central regions.

The gray hexagonal overlay helps to provide context regarding the distribution of bus stops; however, the flow lines’ density makes it difficult to ascertain the exact starting and ending points of these longer commutes.

Although the map is crowded, the saturated areas of flow could signal potential bottlenecks or areas that may benefit from transportation infrastructure improvements, such as increased bus services or the development of express routes.

4.4 99th Percentile Distance (18587)

Since the previous filtering on 3rd quantile resulting in hardly distinguishable pattern, we will try to use percentile next. The following code will check what are the percentile for distance.

Code
quantile(flowline$distance, probs = seq(0, 1, 0.01), na.rm = TRUE)
         0%          1%          2%          3%          4%          5% 
   36.87007   522.53556   703.08425   842.92091   957.30393  1076.69574 
         6%          7%          8%          9%         10%         11% 
 1191.59355  1294.46529  1395.65614  1489.93693  1590.51016  1692.12325 
        12%         13%         14%         15%         16%         17% 
 1788.92064  1884.42267  1968.51790  2066.41607  2153.43370  2248.29253 
        18%         19%         20%         21%         22%         23% 
 2338.39987  2428.43872  2528.60989  2612.44437  2706.87957  2792.76077 
        24%         25%         26%         27%         28%         29% 
 2875.97264  2975.46354  3062.97268  3156.09125  3248.58762  3341.38852 
        30%         31%         32%         33%         34%         35% 
 3436.60368  3532.15466  3619.70478  3714.09747  3821.74327  3915.36034 
        36%         37%         38%         39%         40%         41% 
 4013.05342  4111.42886  4211.00286  4309.25745  4407.09453  4506.11532 
        42%         43%         44%         45%         46%         47% 
 4606.54736  4724.02732  4829.68679  4923.53519  5029.76657  5148.01533 
        48%         49%         50%         51%         52%         53% 
 5256.28523  5366.38472  5478.89233  5590.89734  5703.79373  5819.80587 
        54%         55%         56%         57%         58%         59% 
 5944.54472  6059.26949  6179.22714  6300.95726  6428.67668  6545.52174 
        60%         61%         62%         63%         64%         65% 
 6669.27414  6806.63320  6922.99694  7069.83774  7213.24856  7348.42508 
        66%         67%         68%         69%         70%         71% 
 7493.32313  7632.98202  7789.55420  7938.62851  8100.13558  8257.52288 
        72%         73%         74%         75%         76%         77% 
 8421.55252  8580.78061  8745.64754  8923.04164  9097.35752  9283.90751 
        78%         79%         80%         81%         82%         83% 
 9487.10764  9677.10337  9869.40942 10077.52431 10281.94764 10486.38616 
        84%         85%         86%         87%         88%         89% 
10700.11506 10930.16294 11188.95602 11451.48411 11717.97156 12036.64141 
        90%         91%         92%         93%         94%         95% 
12378.97126 12746.11568 13121.55663 13560.13147 13987.01526 14526.64946 
        96%         97%         98%         99%        100% 
15194.10259 15983.84859 17018.69635 18587.39427 25292.03624 
  • quantile from stats package in base R computes sample quantiles for a given set of data. In this code, it’s used to calculate quantiles for the distance column in the flowline data frame.
  • probs = seq(0, 1, 0.01) specifies the probabilities for which quantiles should be calculated, creating a sequence from 0 to 1 in increments of 0.01 (i.e., percentiles).
  • na.rm = TRUE indicates that NA (missing) values should be removed before the calculation.
  • This code snippet produces a detailed set of percentiles (from 0th to 100th, at every 1%) for the distance data, useful for understanding its distribution in greater detail, including identifying any potential outliers or patterns in the data spread.

Following the previous filter, we also use 99th percentile at 18587 distance for the following plot.

Code
tmap_mode('plot')
tmap_options(check.and.fix = TRUE)
tm_shape(mpsz) +
  tm_polygons(col = 'white') +
tm_shape(hexagons_with_bus_stops) +
  tm_polygons(alpha = 0.4,
              col = 'gray') +
flowline %>%
  filter(distance >= 18587) %>%
  tm_shape() +
  tm_lines(col = 'coral',
           lwd = "trips",
           scale = c(0.1, 1, 2, 3, 4, 5, 6, 7))+
  tm_layout(main.title = 'Weekday Morning Peak Flowline for 99th Percentile Distance', main.title.position = 'center',
            main.title.size = 1.2)

  • tmap_mode from tmap package sets the mode for creating maps. Here, the mode is set to 'plot' for static map rendering.
  • tmap_options configures options for tmap functions. The check.and.fix = TRUE option is used to automatically check and fix invalid polygons in spatial data.
  • tm_shape prepares spatial data for plotting, used here for mpsz and hexagons_with_bus_stops.
  • tm_polygons adds polygon layers. For mpsz, polygons are filled with white color; for hexagons_with_bus_stops, polygons are filled with gray color and partial transparency (alpha = 0.4).
  • filter from dplyr package is used to subset flowline data based on distance, retaining lines with a distance of at least 18587 units.
  • tm_lines adds a layer of lines representing flowline. Line properties like color (col), width (lwd), and scaling are specified.
  • tm_layout customizes the map layout, including the main title and its style.
  • This code snippet creates a thematic map that visualizes “Weekday Morning Peak Flowline for 99th Percentile Distance”, combining polygonal maps of planning zones and hexagons with flow lines based on the specified criteria.

There is a pronounced convergence of bus flows towards the downtown area from all directions, which indicates a significant influx of commuters heading to the central business district. This could reflect the centralized location of employment, educational institutions, and other key services in the city center.

The flow between the north and east regions also shows a heightened density, suggesting a well-traveled corridor that connects these areas. This could be indicative of important residential to commercial commuting patterns or the presence of specific transit routes that facilitate travel between these regions.

The map, with its dense coral lines, indicates that even at the 99th percentile for distance, there are numerous long-distance routes with substantial ridership, underlining the importance of these bus services in the overall transportation network.

4.5 Spread Across Decile of Trips

The last desire line map chart will try to see the spread of trips across decile. Firstly, we check the decile cutoff of trips using the following code.

Code
quantile(flowline$trips, probs = seq(0, 1, 0.1), na.rm = TRUE)
   0%   10%   20%   30%   40%   50%   60%   70%   80%   90%  100% 
    1     2     5    11    21    38    67   125   254   661 97602 
  • quantile from stats package in base R computes sample quantiles for a given set of data. In this code, it’s used to calculate quantiles for the distance column in the flowline data frame.
  • probs = seq(0, 1, 0.01) specifies the probabilities for which quantiles should be calculated, creating a sequence from 0 to 1 in increments of 0.01 (i.e., percentiles).
  • na.rm = TRUE indicates that NA (missing) values should be removed before the calculation.
  • This code snippet produces a detailed set of percentiles (from 0th to 100th, at every 1%) for the distance data, useful for understanding its distribution in greater detail, including identifying any potential outliers or patterns in the data spread.

Next, we define the breaks and plot the chart that will show the spread of trips across decile of cutoff (with an additional arbitrary cutoff on high increase in trip volume). Then, the following code will also assign the cutoff as a column in the flowline dataframe.

Code
flowline <- flowline %>%
  mutate(
    decile = cut(trips, 
                         breaks = c(0, 2, 5, 11, 21, 38, 67, 125, 254, 661, 5000, Inf),
                         labels = c("<2", "2-5", "5-11", "11-21",
                                    "21-38", "38-67", "67-125", "125-254",
                                    "254-661", "661-5000", ">5000"),
                         ordered_result=TRUE
))

# check the output
glimpse(flowline)
Rows: 64,885
Columns: 6
$ origin_hex      <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, …
$ destination_hex <fct> 1496, 1538, 1539, 1559, 1581, 1582, 1601, 1602, 1603, …
$ trips           <dbl> 1091, 766, 230, 311, 32, 63, 153, 77, 29, 127, 218, 15…
$ distance        <dbl> 337.7979, 1089.6612, 1816.6628, 1553.0464, 2308.2822, …
$ geometry        <LINESTRING [m]> LINESTRING (29845.12 31028...., LINESTRING …
$ decile          <ord> 661-5000, 661-5000, 125-254, 254-661, 21-38, 38-67, 12…
  • mutate from dplyr package is used to add new variables or modify existing ones in a data frame. In this code, it adds a decile column to the flowline data frame.
  • cut from base R divides the range of a numeric vector (trips in this case) into intervals and codes the values according to which interval they fall. The breaks parameter defines the interval boundaries, and labels provides labels for these intervals. ordered_result = TRUE makes the result an ordered factor.
  • This code snippet categorizes the trips data into deciles based on specified break points and labels each interval accordingly.
  • glimpse from dplyr package provides a quick overview of the data frame’s structure, including column types and the first few entries in each column.

Based on the new ordinal column of decile group, we can plot the following map chart that shows the spread of trips volume.

Code
trips_spread <- tm_shape(mpsz) +
  tm_fill(col = "white") +
  tm_borders(col = "black", lwd = .5) +
tm_shape(flowline) +
  tm_lines(lwd = "trips", scale = 1.5, col = "coral", alpha = .7) +
  tm_layout(title = "Weekday Morning Peak Traffic Flow", title.position = c("right", "top")) +
  tm_facets(along = "decile", free.coords = FALSE)

# Save animation as gif
tmap_animation(trips_spread, "../images/trips_spread.gif", loop = TRUE, delay = 300,
               outer.margins = NA, restart.delay=500)

for the first 8 decile, the trips slightly change but still more dense on central. on the extra category of >5000, north-downtown, west-downtown, north-east, and short trip becomes more visible

  • tm_shape from tmap package prepares spatial data for plotting. It’s used for both mpsz and flowline datasets.
  • tm_fill adds a layer of filled polygons, and tm_borders adds polygon borders.
  • tm_lines adds a layer of lines, with properties (like width and color) set based on the trips variable.
  • tm_layout customizes the layout of the map, including the title and its position.
  • tm_facets creates multiple panels (facets) in the map based on a variable, here “decile”.
  • tmap_animation from tmap package creates an animation from a series of thematic maps. It’s used to save the animation of trips_spread as a GIF file, with specified loop, delay, margins, and restart delay settings.
  • This code creates an animated map visualizing “Weekday Morning Peak Traffic Flow” across different deciles, saved as a GIF file.

Initial Deciles (<2 to 125-254): In the earlier frames representing the lower deciles, the trip volumes show gradual changes, with a consistent pattern of denser traffic in the central region. This likely reflects a stable flow of bus trips in the heart of the city, where there is a concentration of work, education, and commercial activities.

Higher Deciles (254-661 to >5000): As the deciles increase, the traffic flow becomes more pronounced, particularly in routes leading from the north, west, and northeast towards downtown. These routes exhibit significant growth in trip volumes, highlighting key commuter corridors.

Extreme Volume Category (>5000): In the final frames, where the cutoff is for volumes greater than 5000 trips, the visualization emphasizes the most heavily utilized routes. The north to downtown, west to downtown, northeast, and certain short-distance routes stand out more distinctly, showing where the highest demand for bus transport exists.

5 Assembling Variables

To better design our Spatial Interaction Model performance, we need to assemble the variables that. In the gravity model, those variables include distance, and push and pull factors.

5.1 Push Factors

For the push factors we choose counts of HDB, station, train exit, and bus stop in the zone. Additionally we also try to estimate proxy population data using the HDB sales data.

HDB counts: in a zone serve as a proxy for residential density. Residential areas are likely to generate a substantial number of bus trips, as residents use buses for daily commuting, shopping, and other activities. Higher HDB counts may indicate higher population density and, subsequently, increased demand for bus services.

Station Count: The count of stations within a zone is crucial, especially if these stations connect to other modes of transportation or are busy hubs. Stations can act as both push and pull factors. Residents in a zone with multiple stations might use buses to access these stations, and conversely, individuals arriving at stations might use buses for the next leg of their journey.

Train Exit Count: Similar to stations, the count of train exits represents points of convergence where commuters might either board buses to reach their final destination or disembark from buses to access train services. This bidirectional interaction makes train exits a significant factor in predicting bus trip volumes.

Bus Stop Count: The count of bus stops is a straightforward push factor. More bus stops in a zone imply greater accessibility and convenience for residents, encouraging higher bus usage. Bus stops are critical nodes for the initiation of bus trips, and their density reflects the local transportation network’s coverage.

Proxy Population Data using HDB Sales: While not a direct count of population, HDB sales data provides an indirect measure of population changes over time. Increased HDB sales may indicate population growth or influx, affecting the demand for public transportation. It serves as a dynamic proxy for the population, capturing changes in residency patterns and influencing bus trip volumes.

The following code will create a dataframe to hold all the factors before merged into the main dataframe. Then it assign all the common push factors count to the dataframe.

Code
factors_holder <- hexagons_with_bus_stops %>%
  rename(push_num_bus_stops = num_bus_stops)

# define function to add push poi counts columns
add_push_poi_counts <- function(factors_holder, poi_datasets) {
  # Loop through each POI dataset
  for (poi_name in poi_datasets) {
    # Add a new column with the count using st_intersects and lengths
    factors_holder[[paste0("push_", poi_name, "_count")]] <- 
      ifelse(
        lengths(st_intersects(factors_holder, get(poi_name))) == 0,
        0.99,
        lengths(st_intersects(factors_holder, get(poi_name)))
      )
  }
  
  # Return the updated factors_holder dataframe
  return(factors_holder)
}

# List of POI dataset names
push_poi_datasets <- c("station", "trainexit", "hdb_sf")

# Call the function
factors_holder <- add_push_poi_counts(factors_holder, push_poi_datasets)

# check the output
glimpse(factors_holder)
Rows: 834
Columns: 6
$ hexagon_id           <int> 23, 44, 46, 66, 67, 68, 86, 87, 88, 89, 90, 109, …
$ push_num_bus_stops   <int> 1, 1, 2, 1, 4, 1, 1, 1, 4, 2, 1, 3, 2, 5, 2, 1, 1…
$ hex_grid             <POLYGON [m]> POLYGON ((3970.122 27348.13..., POLYGON (…
$ push_station_count   <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0…
$ push_trainexit_count <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0…
$ push_hdb_sf_count    <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0…
  • mutate from dplyr package is used to add new variables or modify existing ones in a data frame. Here, it creates a capacity column based on a calculation involving various room types.
  • select from dplyr package is used to subset specific columns in the data frame.
  • st_join from sf package performs a spatial join between two spatial objects, joining hdb_capacity with hexagons_with_bus_stops based on their spatial relationship (st_within).
  • group_by and summarise from dplyr package are used for grouping data and calculating summary statistics, here summing up capacity for each hexagon_id.
  • st_drop_geometry from sf package is used to remove the geometry column from a spatial object.
  • left_join from dplyr package merges two data frames based on matching values in a specified column.
  • mutate_at from dplyr package is used to apply a function to multiple columns that match a condition (here, columns that contain “push_est_pop”).
  • coalesce from dplyr package replaces NA values with a specified value (0.99 in this case).
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

Next, we will try to approximate population of the location, based on estimated hdb capacity, and assign it as a push factor as well.

Code
hdb_capacity <- hdb_sf %>%
  mutate(capacity = `1room_sold` *1 +
           `2room_sold` * 2+
           `3room_sold` * 3+
           `4room_sold` * 4+
           `5room_sold` * 5+
           exec_sold * 4+
           multigen_sold * 6+
           studio_apartment_sold *1+
           `1room_rental` * 1+
           `2room_rental` * 2+
           `3room_rental` * 3+
           other_room_rental * 2) %>%
  select(blk_no, geometry, capacity)

# get hexagon_id for hdb, then sum the capacity
hdb_capacity <- st_join(hdb_capacity, hexagons_with_bus_stops, by = NULL, join = st_within) %>%
  group_by(hexagon_id) %>%
  summarise(push_est_pop = sum(capacity)) %>%
  st_drop_geometry()

# Convert hexagon_id to character in both dataframes
factors_holder <- factors_holder %>% mutate(hexagon_id = as.character(hexagon_id))
hdb_capacity <- hdb_capacity %>% mutate(hexagon_id = as.character(hexagon_id))

# Left join factors_holder and hdb_capacity by hexagon_id
factors_holder <- left_join(factors_holder, hdb_capacity, by = "hexagon_id") %>%
  mutate(hexagon_id = as.factor(hexagon_id)) %>%  # Convert back to factor
  mutate_at(vars(contains("push_est_pop")), list(~coalesce(., 0.99)))  # Fill missing values with 0.99 

glimpse(factors_holder)
Rows: 834
Columns: 7
$ hexagon_id           <fct> 23, 44, 46, 66, 67, 68, 86, 87, 88, 89, 90, 109, …
$ push_num_bus_stops   <int> 1, 1, 2, 1, 4, 1, 1, 1, 4, 2, 1, 3, 2, 5, 2, 1, 1…
$ push_station_count   <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0…
$ push_trainexit_count <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0…
$ push_hdb_sf_count    <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0…
$ push_est_pop         <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0…
$ hex_grid             <POLYGON [m]> POLYGON ((3970.122 27348.13..., POLYGON (…
  • mutate from dplyr package is used to add new variables or modify existing ones in a data frame. Here, it creates a capacity column based on a calculation involving various room types.
  • select from dplyr package is used to subset specific columns in the data frame.
  • st_join from sf package performs a spatial join between two spatial objects, joining hdb_capacity with hexagons_with_bus_stops based on their spatial relationship (st_within).
  • group_by and summarise from dplyr package are used for grouping data and calculating summary statistics, here summing up capacity for each hexagon_id.
  • st_drop_geometry from sf package is used to remove the geometry column from a spatial object.
  • left_join from dplyr package merges two data frames based on matching values in a specified column.
  • mutate_at from dplyr package is used to apply a function to multiple columns that match a condition (here, columns that contain “push_est_pop”).
  • coalesce from dplyr package replaces NA values with a specified value (0.99 in this case).
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.

To enhance our dataset with information from Housing Development Board (HDB) records, it’s essential to recognize that HDB residential blocks are designed to house a varying number of residents. This diversity is due to the different types of flats available, each intended to cater to different family sizes and living arrangements. To accurately gauge the population within each HDB block, we employ a methodology that combines the count of dwelling units with an estimated occupancy rate.

The occupancy rate is derived based on standard family compositions associated with each flat type as detailed on the HDB’s types of flats page, which outlines the typical configurations offered to residents. Here’s how we estimate the population for each type of flat:

  • 1-room flats (sold or rental): Generally occupied by a single resident.

  • 2-room flats (sold or rental): Typically house two individuals, which may be a couple or two single persons sharing a space.

  • 3-room flats (sold or rental): Commonly accommodate a small family unit, presumed to be two adults and one child.

  • 4-room flats and executive flats (sold): Usually inhabited by a standard family of four members, such as two adults and two children.

  • 5-room flats (sold): Are spacious enough for larger families, presumed to consist of two adults and three children.

  • Multi-generation flats (sold): Designed to support extended family living, these are estimated to house six individuals, including a pair of grandparents, a couple, and two children.

  • Studio apartments (sold): Intended for elderly residents living alone.

  • Other rental units: If the categorization is not explicit, a general assumption of two residents is applied.

5.2 Pull Factors

For the pull factors we choose counts of station, train exit, business, entertainment, F&B, leisure & recreation, retails, and schools in the zone. Additionally we also try to estimate proxy population data using the HDB sales data.

Counts of Stations: Stations act as major transportation nodes, serving as crucial points for commuters to access different modes of transportation. A higher count of stations in a zone suggests greater connectivity and accessibility, attracting more passengers to use buses for their onward journeys.

Counts of Train Exits: Similar to stations, train exits represent key points of arrival for commuters. The availability of multiple train exits in a zone indicates a higher likelihood of people disembarking from trains and subsequently using buses for the next leg of their journey.

Counts of Businesses: Business establishments contribute significantly to commuter traffic, especially during weekday morning peaks. Employees traveling to work generate demand for bus services. A higher count of businesses in a zone reflects increased economic activity and, consequently, a greater need for public transportation.

Counts of Entertainment Venues: Zones with more entertainment options tend to attract residents and visitors alike. The availability of entertainment venues can stimulate bus ridership, as individuals may utilize buses for leisure activities, contributing to passenger volume during specific time periods.

Counts of Food & Beverage (F&B) Establishments: F&B venues are essential attractors for local and visiting populations. Morning peak hours often witness a surge in commuters seeking breakfast or coffee on their way to work. The count of F&B establishments is indicative of potential bus ridership during these hours.

Counts of Leisure & Recreation Facilities: Similar to entertainment venues, leisure and recreation facilities contribute to the overall attractiveness of a zone. People traveling for recreational purposes may use buses to reach these destinations, contributing to passenger volume, especially during specific time frames.

Counts of Retail Establishments: Retail establishments influence daily commuting patterns as people travel to shop for various goods and services. Higher counts of retail outlets can imply increased footfall and bus usage for shopping purposes.

Counts of Schools: Schools play a pivotal role in shaping travel patterns, particularly during weekday mornings. The count of schools in a zone reflects the potential demand for buses, as students and staff rely on public transportation to reach educational institutions.

The following code will assign all the common pull factors count to the dataframe.

Code
# define function to add pull poi counts columns
add_pull_poi_counts <- function(factors_holder, poi_datasets) {
  # Loop through each POI dataset
  for (poi_name in poi_datasets) {
    # Add a new column with the count using st_intersects and lengths
    factors_holder[[paste0("pull_", poi_name, "_count")]] <- 
      ifelse(
        lengths(st_intersects(factors_holder, get(poi_name))) == 0,
        0.99,
        lengths(st_intersects(factors_holder, get(poi_name)))
      )
  }
  
  # Return the updated factors_holder dataframe
  return(factors_holder)
}

# List of POI dataset names
pull_poi_datasets <- c("station", "trainexit", "biz", "entertn", "fnb", "finance", "lnr", "retails", "schools_sf")

# Call the function
factors_holder <- add_pull_poi_counts(factors_holder, pull_poi_datasets)

glimpse(factors_holder)
Rows: 834
Columns: 16
$ hexagon_id            <fct> 23, 44, 46, 66, 67, 68, 86, 87, 88, 89, 90, 109,…
$ push_num_bus_stops    <int> 1, 1, 2, 1, 4, 1, 1, 1, 4, 2, 1, 3, 2, 5, 2, 1, …
$ push_station_count    <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ push_trainexit_count  <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ push_hdb_sf_count     <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ push_est_pop          <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ hex_grid              <POLYGON [m]> POLYGON ((3970.122 27348.13..., POLYGON …
$ pull_station_count    <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ pull_trainexit_count  <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ pull_biz_count        <dbl> 0.99, 5.00, 4.00, 1.00, 50.00, 27.00, 3.00, 3.00…
$ pull_entertn_count    <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ pull_fnb_count        <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ pull_finance_count    <dbl> 0.99, 0.99, 0.99, 0.99, 1.00, 0.99, 0.99, 0.99, …
$ pull_lnr_count        <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ pull_retails_count    <dbl> 0.99, 0.99, 0.99, 0.99, 5.00, 0.99, 0.99, 0.99, …
$ pull_schools_sf_count <dbl> 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
  • The add_pull_poi_counts function is a custom-defined function. It is used to add new columns to the factors_holder data frame, each representing the count of points of interest (POIs) nearby.
  • The function loops through each POI dataset name provided in poi_datasets (a vector of dataset names like “station”, “trainexit”, etc.).
  • st_intersects from sf package checks for intersections between spatial objects. It’s used here to identify intersecting POIs for each hexagon.
  • lengths from base R calculates the number of intersecting points for each hexagon.
  • ifelse from base R is used to replace zero counts with a small number (0.99) for later analytical purposes.
  • get from base R fetches the value of a named object (in this case, the POI datasets).
  • paste0 from base R concatenates strings to create new column names.
  • glimpse from dplyr package is used at the end to display the structure of the updated factors_holder data frame.

5.3 Final Dataset

After assembling all the pull and push factors, next we will merge the factors to the main dataset. The push factors will be merged by using origin_hex, while the pull factors will be merged by using destination_hex. The following code will execute the task.

Code
final_df <- left_join(odb_flow, factors_holder %>% select(starts_with("push_"), hexagon_id), by = c("origin_hex" = "hexagon_id"))

final_df <- left_join(final_df, factors_holder %>% select(starts_with("pull_"), hexagon_id), by = c("destination_hex" = "hexagon_id"))

final_df <- final_df %>%
  select(-hex_grid.x, -hex_grid.y)

final_df <- final_df %>%
  mutate(push_est_pop = ifelse(push_est_pop == 0, 0.99, push_est_pop))

# Check the output
glimpse(final_df)
Rows: 64,885
Columns: 18
$ origin_hex            <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, …
$ destination_hex       <fct> 1496, 1538, 1539, 1559, 1581, 1582, 1601, 1602, …
$ trips                 <dbl> 1091, 766, 230, 311, 32, 63, 153, 77, 29, 127, 2…
$ distance              <dbl> 337.7979, 1089.6612, 1816.6628, 1553.0464, 2308.…
$ push_num_bus_stops    <int> 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, …
$ push_station_count    <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, …
$ push_trainexit_count  <dbl> 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, …
$ push_hdb_sf_count     <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, …
$ push_est_pop          <dbl> 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, …
$ pull_station_count    <dbl> 4.00, 1.00, 2.00, 1.00, 1.00, 0.99, 1.00, 1.00, …
$ pull_trainexit_count  <dbl> 6.00, 0.99, 3.00, 2.00, 0.99, 0.99, 1.00, 2.00, …
$ pull_biz_count        <dbl> 19.00, 15.00, 20.00, 25.00, 23.00, 4.00, 2.00, 4…
$ pull_entertn_count    <dbl> 9.00, 2.00, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ pull_fnb_count        <dbl> 56.00, 65.00, 42.00, 1.00, 1.00, 1.00, 0.99, 1.0…
$ pull_finance_count    <dbl> 43.00, 26.00, 8.00, 16.00, 1.00, 0.99, 2.00, 6.0…
$ pull_lnr_count        <dbl> 9.00, 13.00, 9.00, 5.00, 1.00, 0.99, 2.00, 1.00,…
$ pull_retails_count    <dbl> 1669.00, 749.00, 235.00, 334.00, 165.00, 30.00, …
$ pull_schools_sf_count <dbl> 0.99, 1.00, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
  • left_join from dplyr package merges two data frames based on matching values in specified columns. Here, it’s used twice: first to join odb_flow with push columns from factors_holder, and then to join pull columns to the resulting data frame.
  • select from dplyr package is used to subset specific columns from a data frame. starts_with is a helper used within select to choose columns that start with certain strings.
  • The second select statement with -hex_grid.x, -hex_grid.y removes unwanted columns from final_df.
  • mutate from dplyr package is used to create or modify columns in a data frame. Here, it modifies push_est_pop to replace zero values with 0.99.
  • ifelse from base R applies a conditional test to each element of a vector.
  • glimpse from dplyr package provides a transposed summary of the data frame, giving a quick look at its structure, including the types of columns and the first few entries in each column.

To avoid redundant processing on running this qmd file or in rendering it, we can save the final processed data to rds file, then import it on the later step. The following code will write the rds file.

Code
write_rds(final_df, "../data/rds/final_df_the2.rds")
  • write_rds from base R saves an R object (in this case, the final_df data frame) to a file in R’s binary RDS format. This format is specific to R and allows for efficient storage of R objects.
  • The first argument is the object to be saved (final_df), and the second argument is the file path where the object will be saved ("../data/rds/final_df_the2.rds").
  • The #| eval: false at the beginning of the code is likely an instruction for an R Markdown document or similar tool, indicating that this line of code should not be evaluated when the document is run.
  • This code snippet saves the final_df data frame as an RDS file for future use, providing a convenient way to store and later reload the data frame in its current state.

The RDS format in R is a specialized file format used for storing single R objects. It’s a compact binary format that preserves the exact structure of the saved object, including metadata. This format is particularly efficient for saving and loading objects in R, as it ensures that the object is restored exactly as it was when saved, without any need for reformatting or reassembling data.

Using the RDS format is beneficial because it allows for fast and efficient storage and retrieval of R objects, making it ideal for situations where you need to save an object and reload it later in another session without any loss of information. The functions write_rds and read_rds (or writeRDS and readRDS in base R) are used for saving to and reading from this format, respectively. RDS is especially useful for large datasets or complex objects where preservation of structure is crucial.

6 Spatial Interaction Model

As explained in Overview section, the Spatial Interaction Model used here are various type of the Gravity Model. Firstly, based on the previous saved data, this will be the checkpoint on importing the final dataset for the modelling.

Code
final_df <- read_rds("../data/rds/final_df_the2.rds")
glimpse(final_df)
Rows: 64,885
Columns: 18
$ origin_hex            <fct> 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, …
$ destination_hex       <fct> 1496, 1538, 1539, 1559, 1581, 1582, 1601, 1602, …
$ trips                 <dbl> 1091, 766, 230, 311, 32, 63, 153, 77, 29, 127, 2…
$ distance              <dbl> 337.7979, 1089.6612, 1816.6628, 1553.0464, 2308.…
$ push_num_bus_stops    <int> 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, …
$ push_station_count    <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, …
$ push_trainexit_count  <dbl> 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, …
$ push_hdb_sf_count     <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, …
$ push_est_pop          <dbl> 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, …
$ pull_station_count    <dbl> 4.00, 1.00, 2.00, 1.00, 1.00, 0.99, 1.00, 1.00, …
$ pull_trainexit_count  <dbl> 6.00, 0.99, 3.00, 2.00, 0.99, 0.99, 1.00, 2.00, …
$ pull_biz_count        <dbl> 19.00, 15.00, 20.00, 25.00, 23.00, 4.00, 2.00, 4…
$ pull_entertn_count    <dbl> 9.00, 2.00, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
$ pull_fnb_count        <dbl> 56.00, 65.00, 42.00, 1.00, 1.00, 1.00, 0.99, 1.0…
$ pull_finance_count    <dbl> 43.00, 26.00, 8.00, 16.00, 1.00, 0.99, 2.00, 6.0…
$ pull_lnr_count        <dbl> 9.00, 13.00, 9.00, 5.00, 1.00, 0.99, 2.00, 1.00,…
$ pull_retails_count    <dbl> 1669.00, 749.00, 235.00, 334.00, 165.00, 30.00, …
$ pull_schools_sf_count <dbl> 0.99, 1.00, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, …
  • read_rds from base R loads an R object saved in RDS format. In this code, it’s used to read the final_df data frame from a file located at "../data/rds/final_df_the2.rds".
  • glimpse from dplyr package provides a transposed summary of the data frame, offering a quick look at its structure, including the types of columns and the first few entries in each column.
  • This code snippet loads final_df from an RDS file and provides an overview of its structure, which is useful for understanding the types and arrangement of data contained in the data frame after it has been reloaded.

Another thing to note before starting, is that the glm model function that will be used does not have a built in R2 value calculation. Therefore the following code will build a function to calculate the R2.

Code
CalcRSquared <- function(observed, estimated){
  r <- cor(observed, estimated)
  R2 <- r^2
  R2
}
  • cor from stats R package is used to compute the correlation between observed and estimated. In this code, it’s used to calculate the correlation coefficient r.
  • The square of the correlation coefficient r^2 is calculated to obtain the R-squared value R2, which is a measure of how close the data are to the fitted regression line. It is also known as the coefficient of determination.

A Generalized Linear Model (GLM) is a statistical framework used for modeling relationships between a dependent variable and one or more independent variables. Unlike ordinary linear regression, GLM accommodates a broader range of data distributions, making it suitable for situations where the response variable follows a non-normal distribution.

In R Studio, the glm function is utilized to fit a GLM. It allows you to specify the form of the model, the type of error distribution, and the link function connecting the predictors to the expected value of the response. Commonly used error distributions include Gaussian (for normal data), binomial (for binary data), and Poisson (for count data).

Related to the spatial interaction model, the Poisson distribution is often employed in GLMs for modeling count data, which aligns well with the nature of spatial interaction models dealing with the prediction of flows or counts of interactions between locations. The choice of Poisson distribution in GLM is particularly apt for scenarios where the response variable represents the number of events (e.g., trips, movements) occurring in a fixed period or area.

In the context of spatial interaction modeling using the glm function in R Studio, the Poisson GLM can be applied to capture the dependence of interaction counts between different spatial entities (e.g., zones, hexagons) on various predictor variables. The spatial interaction model, in this case, aims to understand and predict the flow or volume of interactions between locations, with the Poisson distribution addressing the discrete and non-negative nature of such count data.

6.1 Correlation Analysis

Before running the model, its a good practice to check collinearity between the variables to prevent bumping into multicollinearity problem in the model.

Code
# Calculate correlation
correlation_matrix <- cor(final_df[,3:18])

# Generate correlation plot
corrplot.mixed(correlation_matrix,
               lower = "color",      # Use ellipse for lower part
               upper = "number",     # Display correlation numbers in the upper part
               tl.pos = "lt",        # Place variable names to the left and top
               tl.col = "black",     # Set variable names color to black
               tl.cex = 0.7,         # Set variable names font size
               number.cex = 0.4      # Set correlation numbers font size
               )

  • cor from stats package in base R computes a correlation matrix. In this code, it’s used to calculate the correlation matrix for selected columns (columns 3 through 18) of final_df.
  • corrplot.mixed is a function from the corrplot package. It visualizes a correlation matrix, offering different styles for the upper and lower matrix. Here, the lower part of the matrix uses color coding ("color"), while the upper part displays correlation coefficients as numbers ("number"). The function also allows customization of text position (tl.pos), color (tl.col), and size (tl.cex for variable names, number.cex for correlation numbers).
  • This code creates a mixed-style correlation plot, providing a visual and numerical representation of the correlation between variables in final_df.

Upon examining the correlation matrix, using a conservative threshold of correlation value above 0.7, the highly correlated variables are as follows:

  1. all station count and train exit count for each push and pull respectively have a strong positive correlation, suggesting that areas with a higher number of stations also tend to have a higher count of train exits. This result is quite expected.

  2. push_hdb_sf_count and push_est_pop also show a strong positive correlation, which may imply that regions with a higher number of HDB (Housing Development Board) flats tend to have a larger estimated population, a logical relationship given that the data is derived from the same source. Nevertheless, this result might also be caused by many of the hexagonal grid actually do not have HDB in the vicinity.

  3. pull_finance_count and pull_train_exit_count.

  4. pull_fnb_count and pull_finance_count.

  5. pull_fnb_count and pull_lnr_count.

  6. pull_fnr_count and pull_retails_count

this finding will be considered as basis for eliminating some variables in the model. Nevertheless, for experimental and comparison purpose, models without variables elimination will also be run in the next section.

6.2 The 4 Models Without Elimination

Unconstrained

Code
uncSIM <- glm(formula = trips ~ 
                log(push_num_bus_stops) +
                log(push_station_count) +
                log(push_trainexit_count) +
                log(push_hdb_sf_count) +
                log(push_est_pop) +
                log(pull_station_count) +
                log(pull_trainexit_count) +
                log(pull_biz_count) +
                log(pull_entertn_count) +
                log(pull_fnb_count) +
                log(pull_finance_count) +
                log(pull_lnr_count) +
                log(pull_retails_count) +
                log(pull_schools_sf_count) +
                log(distance),
              family = poisson(link = "log"),
              data = final_df,
              na.action = na.exclude)

summary(uncSIM)

Call:
glm(formula = trips ~ log(push_num_bus_stops) + log(push_station_count) + 
    log(push_trainexit_count) + log(push_hdb_sf_count) + log(push_est_pop) + 
    log(pull_station_count) + log(pull_trainexit_count) + log(pull_biz_count) + 
    log(pull_entertn_count) + log(pull_fnb_count) + log(pull_finance_count) + 
    log(pull_lnr_count) + log(pull_retails_count) + log(pull_schools_sf_count) + 
    log(distance), family = poisson(link = "log"), data = final_df, 
    na.action = na.exclude)

Coefficients:
                             Estimate Std. Error  z value Pr(>|z|)    
(Intercept)                13.2357996  0.0016799  7878.76   <2e-16 ***
log(push_num_bus_stops)     0.3015501  0.0005084   593.14   <2e-16 ***
log(push_station_count)    -0.6001019  0.0009082  -660.75   <2e-16 ***
log(push_trainexit_count)   0.3891417  0.0004042   962.64   <2e-16 ***
log(push_hdb_sf_count)      0.4539595  0.0004671   971.83   <2e-16 ***
log(push_est_pop)          -0.0507382  0.0001888  -268.68   <2e-16 ***
log(pull_station_count)    -0.4687275  0.0008102  -578.55   <2e-16 ***
log(pull_trainexit_count)   0.6703817  0.0004561  1469.73   <2e-16 ***
log(pull_biz_count)         0.0891027  0.0001920   464.14   <2e-16 ***
log(pull_entertn_count)    -0.0544500  0.0008472   -64.27   <2e-16 ***
log(pull_fnb_count)        -0.1661899  0.0002889  -575.33   <2e-16 ***
log(pull_finance_count)     0.2667002  0.0003691   722.64   <2e-16 ***
log(pull_lnr_count)        -0.2279931  0.0003982  -572.60   <2e-16 ***
log(pull_retails_count)     0.0387865  0.0002130   182.12   <2e-16 ***
log(pull_schools_sf_count)  0.2579308  0.0006415   402.10   <2e-16 ***
log(distance)              -1.1797209  0.0001870 -6307.65   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 98559950  on 64884  degrees of freedom
Residual deviance: 48920321  on 64869  degrees of freedom
AIC: 49277052

Number of Fisher Scoring iterations: 7
Code
CalcRSquared(uncSIM$data$trips, uncSIM$fitted.values)
[1] 0.1876436
  • glm from stats package in base R fits generalized linear models. Here, orcSIM is a Poisson regression model with a log link function, predicting trips based on various pull_*_count variables, log(distance), and origin_hex. The log function is applied to the count variables and distance, indicating a log-linear relationship.
  • summary from base R provides a detailed summary of the model’s fit, including coefficients, statistical significance, and other diagnostics.
  • CalcRSquared is a customfunction for calculating the R-squared value of the model. It’s used here to calculate R-squared using the actual trips data and the fitted values from orcSIM.

Key Coefficients: The estimated coefficients reveal the impact of various predictor variables on the logarithm of trip counts. Notably, a positive coefficient (e.g., log(push_num_bus_stops)) suggests that an increase in the corresponding variable is associated with a higher number of trips, while a negative coefficient (e.g., log(push_station_count)) implies a negative influence. The large z-values and highly significant p-values (<2e-16) underscore the robustness and statistical significance of these associations.

  • Intercept: 13.24 (p < 2e-16)
  • log(push_num_bus_stops): 0.302 (p < 2e-16)
  • log(push_station_count): -0.600 (p < 2e-16)
  • log(push_trainexit_count): 0.389 (p < 2e-16)
  • log(push_hdb_sf_count): 0.454 (p < 2e-16)
  • log(push_est_pop): -0.051 (p < 2e-16)
  • log(pull_station_count): -0.469 (p < 2e-16)
  • log(pull_trainexit_count): 0.670 (p < 2e-16)
  • log(pull_biz_count): 0.089 (p < 2e-16)
  • log(pull_entertn_count): -0.054 (p < 2e-16)
  • log(pull_fnb_count): -0.166 (p < 2e-16)
  • log(pull_finance_count): 0.267 (p < 2e-16)
  • log(pull_lnr_count): -0.228 (p < 2e-16)
  • log(pull_retails_count): 0.039 (p < 2e-16)
  • log(pull_schools_sf_count): 0.258 (p < 2e-16)
  • log(distance): -1.180 (p < 2e-16)

Model Fit: The coefficient of determination (R-squared) for the model is 0.188, indicating that approximately 18.8% of the variability in trip counts can be explained by the selected predictor variables. While this suggests a moderate level of explanatory power, it also highlights the existence of unaccounted factors influencing trip counts. The significance of the individual coefficients supports the model’s ability to capture meaningful relationships within the dataset, despite the overall modest R-squared value.

Origin Constrained

Code
orcSIM <- glm(formula = trips ~
                log(pull_station_count) +
                log(pull_trainexit_count) +
                log(pull_biz_count) +
                log(pull_entertn_count) +
                log(pull_fnb_count) +
                log(pull_finance_count) +
                log(pull_lnr_count) +
                log(pull_retails_count) +
                log(pull_schools_sf_count) +
                log(distance) +
                origin_hex,
              family = poisson(link = "log"),
              data = final_df,
              na.action = na.exclude)

summary(orcSIM)

Call:
glm(formula = trips ~ log(pull_station_count) + log(pull_trainexit_count) + 
    log(pull_biz_count) + log(pull_entertn_count) + log(pull_fnb_count) + 
    log(pull_finance_count) + log(pull_lnr_count) + log(pull_retails_count) + 
    log(pull_schools_sf_count) + log(distance) + origin_hex, 
    family = poisson(link = "log"), data = final_df, na.action = na.exclude)

Coefficients:
                             Estimate Std. Error   z value Pr(>|z|)    
(Intercept)                13.4439773  0.0243212   552.768  < 2e-16 ***
log(pull_station_count)    -0.4031761  0.0008458  -476.695  < 2e-16 ***
log(pull_trainexit_count)   0.6617517  0.0004724  1400.713  < 2e-16 ***
log(pull_biz_count)         0.1076267  0.0002028   530.631  < 2e-16 ***
log(pull_entertn_count)    -0.0888377  0.0008826  -100.655  < 2e-16 ***
log(pull_fnb_count)        -0.1342505  0.0002989  -449.140  < 2e-16 ***
log(pull_finance_count)     0.2649556  0.0003801   697.086  < 2e-16 ***
log(pull_lnr_count)        -0.1656854  0.0004101  -404.041  < 2e-16 ***
log(pull_retails_count)     0.0602612  0.0002237   269.418  < 2e-16 ***
log(pull_schools_sf_count)  0.2304467  0.0006696   344.132  < 2e-16 ***
log(distance)              -1.2389958  0.0002122 -5838.512  < 2e-16 ***
origin_hex1003              2.4855105  0.0245533   101.229  < 2e-16 ***
origin_hex1004              3.3001935  0.0243940   135.287  < 2e-16 ***
origin_hex1011             -0.7843741  0.0386103   -20.315  < 2e-16 ***
origin_hex1012             -0.8414045  0.0399385   -21.068  < 2e-16 ***
origin_hex1013             -0.3016287  0.0288954   -10.439  < 2e-16 ***
origin_hex1014              0.2515593  0.0264026     9.528  < 2e-16 ***
origin_hex1015             -0.4276372  0.0289114   -14.791  < 2e-16 ***
origin_hex1016              0.9613026  0.0252059    38.138  < 2e-16 ***
origin_hex1018              1.4890003  0.0260520    57.155  < 2e-16 ***
origin_hex1019              2.8799508  0.0246205   116.974  < 2e-16 ***
origin_hex1023              1.3355897  0.0258783    51.610  < 2e-16 ***
origin_hex1024              2.6397529  0.0245816   107.387  < 2e-16 ***
origin_hex1025             -1.8176965  0.0547601   -33.194  < 2e-16 ***
origin_hex1033              0.4198174  0.0265934    15.787  < 2e-16 ***
origin_hex1034              1.1740172  0.0252111    46.568  < 2e-16 ***
origin_hex1035              1.7095382  0.0247827    68.981  < 2e-16 ***
origin_hex1036             -0.3245307  0.0278612   -11.648  < 2e-16 ***
origin_hex1037              0.8990567  0.0251644    35.727  < 2e-16 ***
origin_hex1043             -0.2271987  0.0345369    -6.578 4.75e-11 ***
origin_hex1045              2.1682387  0.0245928    88.166  < 2e-16 ***
origin_hex1046              2.3745318  0.0246867    96.187  < 2e-16 ***
origin_hex1053              1.5082486  0.0248497    60.695  < 2e-16 ***
origin_hex1054              0.8574729  0.0253915    33.770  < 2e-16 ***
origin_hex1055              1.7269224  0.0247363    69.813  < 2e-16 ***
origin_hex1056              0.5839524  0.0258505    22.590  < 2e-16 ***
origin_hex1064             -3.3008975  0.2511754   -13.142  < 2e-16 ***
origin_hex1066              2.2496339  0.0246921    91.107  < 2e-16 ***
origin_hex1067              2.2765589  0.0250518    90.874  < 2e-16 ***
origin_hex1074              1.0532402  0.0253236    41.591  < 2e-16 ***
origin_hex1075              0.6181088  0.0261711    23.618  < 2e-16 ***
origin_hex1076              0.4444315  0.0256665    17.316  < 2e-16 ***
origin_hex1077              0.5409385  0.0261886    20.656  < 2e-16 ***
origin_hex1079              1.6800394  0.0247110    67.988  < 2e-16 ***
origin_hex1085             -2.7240327  0.1434886   -18.984  < 2e-16 ***
origin_hex1087              1.9089908  0.0248645    76.776  < 2e-16 ***
origin_hex1088              0.8721078  0.0268984    32.422  < 2e-16 ***
origin_hex109              -1.5070319  0.1019477   -14.782  < 2e-16 ***
origin_hex1094             -1.2273748  0.0497934   -24.649  < 2e-16 ***
origin_hex1095             -1.0705532  0.0407402   -26.278  < 2e-16 ***
origin_hex1096              0.5044426  0.0315289    15.999  < 2e-16 ***
origin_hex1097              2.0018581  0.0244911    81.738  < 2e-16 ***
origin_hex1098             -0.4691930  0.0301181   -15.578  < 2e-16 ***
origin_hex1099              1.0629911  0.0251124    42.329  < 2e-16 ***
origin_hex110              -0.5684377  0.0756139    -7.518 5.58e-14 ***
origin_hex1105             -1.2588102  0.0658353   -19.121  < 2e-16 ***
origin_hex1106             -2.1179833  0.0948278   -22.335  < 2e-16 ***
origin_hex1107             -0.7011222  0.0365432   -19.186  < 2e-16 ***
origin_hex1108              3.5942265  0.0243342   147.703  < 2e-16 ***
origin_hex1109              1.4052447  0.0262197    53.595  < 2e-16 ***
origin_hex111               1.7547977  0.0267571    65.583  < 2e-16 ***
origin_hex1116              0.5650568  0.0256018    22.071  < 2e-16 ***
origin_hex1117             -0.7851506  0.0297763   -26.368  < 2e-16 ***
origin_hex1118             -1.0296565  0.0307687   -33.464  < 2e-16 ***
origin_hex1119              0.3630857  0.0260418    13.942  < 2e-16 ***
origin_hex112              -2.3842721  0.0685898   -34.761  < 2e-16 ***
origin_hex1120              0.1224200  0.0274805     4.455 8.40e-06 ***
origin_hex1129              2.2924941  0.0246436    93.026  < 2e-16 ***
origin_hex1130              2.7333565  0.0245148   111.498  < 2e-16 ***
origin_hex1131              1.2441262  0.0261802    47.522  < 2e-16 ***
origin_hex1136             -0.3773068  0.0285768   -13.203  < 2e-16 ***
origin_hex1138             -1.1293494  0.0373742   -30.217  < 2e-16 ***
origin_hex1139              1.2464727  0.0247441    50.374  < 2e-16 ***
origin_hex1141              1.1867254  0.0249923    47.484  < 2e-16 ***
origin_hex1148             -1.1264107  0.0569959   -19.763  < 2e-16 ***
origin_hex1149              0.3598981  0.0296596    12.134  < 2e-16 ***
origin_hex1150              2.8461458  0.0244670   116.326  < 2e-16 ***
origin_hex1151              1.4050456  0.0250256    56.144  < 2e-16 ***
origin_hex1158             -0.1108969  0.0265781    -4.172 3.01e-05 ***
origin_hex1159              1.0642214  0.0248651    42.800  < 2e-16 ***
origin_hex1160              2.0530891  0.0245045    83.784  < 2e-16 ***
origin_hex1171              2.8195936  0.0245096   115.040  < 2e-16 ***
origin_hex1172              2.7144555  0.0244897   110.841  < 2e-16 ***
origin_hex1173              0.4505651  0.0271437    16.599  < 2e-16 ***
origin_hex1174             -2.8444583  0.2683617   -10.599  < 2e-16 ***
origin_hex1178             -0.0357990  0.0263030    -1.361 0.173506    
origin_hex1179              0.7598229  0.0251525    30.209  < 2e-16 ***
origin_hex1180              1.6424971  0.0245961    66.779  < 2e-16 ***
origin_hex1181              0.8850885  0.0250763    35.296  < 2e-16 ***
origin_hex1183             -0.0474056  0.0268558    -1.765 0.077531 .  
origin_hex1190             -0.8772480  0.0536402   -16.354  < 2e-16 ***
origin_hex1192              2.2377621  0.0249647    89.637  < 2e-16 ***
origin_hex1193              1.9785082  0.0247482    79.946  < 2e-16 ***
origin_hex1194              0.2829625  0.0278703    10.153  < 2e-16 ***
origin_hex1200              0.9957346  0.0251063    39.661  < 2e-16 ***
origin_hex1201              0.7516893  0.0252239    29.801  < 2e-16 ***
origin_hex1203              1.2389016  0.0249225    49.710  < 2e-16 ***
origin_hex1204              0.9981851  0.0251519    39.686  < 2e-16 ***
origin_hex1211             -1.4624627  0.0923341   -15.839  < 2e-16 ***
origin_hex1214              2.5723196  0.0245486   104.785  < 2e-16 ***
origin_hex1215             -0.5422929  0.0464653   -11.671  < 2e-16 ***
origin_hex1216             -1.4114980  0.0470367   -30.008  < 2e-16 ***
origin_hex1220              2.0518823  0.0245657    83.526  < 2e-16 ***
origin_hex1221              1.4173594  0.0246438    57.514  < 2e-16 ***
origin_hex1222              1.2146452  0.0260562    46.616  < 2e-16 ***
origin_hex1223             -0.7058728  0.0293867   -24.020  < 2e-16 ***
origin_hex1224              0.0775920  0.0264263     2.936 0.003323 ** 
origin_hex1231             -3.2757568  0.1905342   -17.192  < 2e-16 ***
origin_hex1232             -2.0171117  0.1144071   -17.631  < 2e-16 ***
origin_hex1235              0.0457122  0.0277947     1.645 0.100045    
origin_hex1236              0.4288767  0.0277541    15.453  < 2e-16 ***
origin_hex1241              0.1522568  0.0261959     5.812 6.16e-09 ***
origin_hex1242              0.8126169  0.0251493    32.312  < 2e-16 ***
origin_hex1243              1.3820442  0.0247064    55.939  < 2e-16 ***
origin_hex1246              0.1788057  0.0258737     6.911 4.82e-12 ***
origin_hex1256              1.6311222  0.0254839    64.006  < 2e-16 ***
origin_hex1257              2.3817944  0.0247443    96.256  < 2e-16 ***
origin_hex1258              0.1841946  0.0281441     6.545 5.96e-11 ***
origin_hex1262              0.7654240  0.0255639    29.942  < 2e-16 ***
origin_hex1263              1.0591523  0.0247800    42.742  < 2e-16 ***
origin_hex1264              0.1904030  0.0269047     7.077 1.47e-12 ***
origin_hex1265             -0.5268372  0.0279169   -18.872  < 2e-16 ***
origin_hex1266              0.8905905  0.0254121    35.046  < 2e-16 ***
origin_hex1267             -1.1711953  0.0361155   -32.429  < 2e-16 ***
origin_hex1272             -3.2493270  0.1179930   -27.538  < 2e-16 ***
origin_hex1273              0.5292696  0.0269653    19.628  < 2e-16 ***
origin_hex1277              2.2693064  0.0245423    92.465  < 2e-16 ***
origin_hex1278             -0.0349316  0.0278048    -1.256 0.209002    
origin_hex128               0.7223397  0.0329278    21.937  < 2e-16 ***
origin_hex1283              2.2099958  0.0245209    90.127  < 2e-16 ***
origin_hex1284              1.4789675  0.0246893    59.903  < 2e-16 ***
origin_hex1285              2.1685664  0.0244634    88.645  < 2e-16 ***
origin_hex1286              0.3900799  0.0262077    14.884  < 2e-16 ***
origin_hex1289             -1.7100541  0.0521219   -32.809  < 2e-16 ***
origin_hex129              -1.9336424  0.1905354   -10.148  < 2e-16 ***
origin_hex1293             -2.9107369  0.0923342   -31.524  < 2e-16 ***
origin_hex1294              2.0587110  0.0249328    82.570  < 2e-16 ***
origin_hex1295             -0.4439498  0.0317701   -13.974  < 2e-16 ***
origin_hex1298              1.3145305  0.0250462    52.484  < 2e-16 ***
origin_hex1299              1.8406859  0.0249585    73.750  < 2e-16 ***
origin_hex130              -1.8673592  0.0649040   -28.771  < 2e-16 ***
origin_hex1304              2.1748259  0.0245266    88.672  < 2e-16 ***
origin_hex1305              1.5141444  0.0245807    61.599  < 2e-16 ***
origin_hex1307             -1.8874079  0.0446967   -42.227  < 2e-16 ***
origin_hex1308              1.0380173  0.0249832    41.549  < 2e-16 ***
origin_hex131              -0.6816178  0.0427962   -15.927  < 2e-16 ***
origin_hex1310             -3.2232502  0.1370066   -23.526  < 2e-16 ***
origin_hex1316             -1.4776283  0.0410252   -36.018  < 2e-16 ***
origin_hex1317              0.2317556  0.0266689     8.690  < 2e-16 ***
origin_hex1318             -0.2452873  0.0286198    -8.571  < 2e-16 ***
origin_hex1319              2.4974258  0.0245142   101.877  < 2e-16 ***
origin_hex132              -1.2534734  0.0537430   -23.323  < 2e-16 ***
origin_hex1320              1.2359134  0.0257697    47.960  < 2e-16 ***
origin_hex1325             -0.1744563  0.0271347    -6.429 1.28e-10 ***
origin_hex1326              1.7039295  0.0245700    69.350  < 2e-16 ***
origin_hex1327              1.4634004  0.0246400    59.391  < 2e-16 ***
origin_hex1328              0.1875723  0.0259722     7.222 5.12e-13 ***
origin_hex1329              0.3338163  0.0268275    12.443  < 2e-16 ***
origin_hex133              -1.4657855  0.0448298   -32.697  < 2e-16 ***
origin_hex1330              0.1804237  0.0255217     7.069 1.56e-12 ***
origin_hex1331             -3.8892031  0.3024867   -12.857  < 2e-16 ***
origin_hex1333             -0.2426770  0.0272247    -8.914  < 2e-16 ***
origin_hex1334              0.1990879  0.0268907     7.404 1.33e-13 ***
origin_hex1335             -0.2433650  0.0295157    -8.245  < 2e-16 ***
origin_hex1336             -2.7663552  0.1099236   -25.166  < 2e-16 ***
origin_hex1337             -2.1532596  0.0543936   -39.587  < 2e-16 ***
origin_hex1338             -3.0472530  0.0849208   -35.883  < 2e-16 ***
origin_hex1339              2.5156481  0.0244941   102.704  < 2e-16 ***
origin_hex134               0.1972097  0.0336015     5.869 4.38e-09 ***
origin_hex1340              0.8782192  0.0257735    34.074  < 2e-16 ***
origin_hex1341             -4.0485215  0.7075234    -5.722 1.05e-08 ***
origin_hex1346              1.4430774  0.0249829    57.763  < 2e-16 ***
origin_hex1347              2.3145747  0.0244663    94.603  < 2e-16 ***
origin_hex1348              0.6561063  0.0250100    26.234  < 2e-16 ***
origin_hex1349              0.3521877  0.0255297    13.795  < 2e-16 ***
origin_hex1350              0.5026128  0.0266144    18.885  < 2e-16 ***
origin_hex1353             -0.0746080  0.0262122    -2.846 0.004423 ** 
origin_hex1354             -0.0853514  0.0272042    -3.137 0.001704 ** 
origin_hex1355              0.7581085  0.0256696    29.533  < 2e-16 ***
origin_hex1357             -0.1590540  0.0305759    -5.202 1.97e-07 ***
origin_hex1358              1.1488203  0.0252566    45.486  < 2e-16 ***
origin_hex1359              1.7538476  0.0247558    70.846  < 2e-16 ***
origin_hex1360              1.7635408  0.0247850    71.154  < 2e-16 ***
origin_hex1361              2.7413196  0.0245363   111.725  < 2e-16 ***
origin_hex1362             -1.3722648  0.0512413   -26.780  < 2e-16 ***
origin_hex1368              0.3376315  0.0256357    13.170  < 2e-16 ***
origin_hex1369              0.1056627  0.0257046     4.111 3.95e-05 ***
origin_hex1370              1.0811003  0.0247370    43.704  < 2e-16 ***
origin_hex1371              0.4351686  0.0261359    16.650  < 2e-16 ***
origin_hex1372             -0.2793561  0.0275153   -10.153  < 2e-16 ***
origin_hex1373             -2.0995833  0.0525189   -39.978  < 2e-16 ***
origin_hex1374              0.0917024  0.0287265     3.192 0.001412 ** 
origin_hex1375              0.8931920  0.0254232    35.133  < 2e-16 ***
origin_hex1376              0.6506721  0.0271479    23.968  < 2e-16 ***
origin_hex1379             -1.2173069  0.0420673   -28.937  < 2e-16 ***
origin_hex1380              2.7934394  0.0244126   114.426  < 2e-16 ***
origin_hex1381              2.4221403  0.0244992    98.866  < 2e-16 ***
origin_hex1382              1.9428799  0.0250016    77.710  < 2e-16 ***
origin_hex1383             -0.6243729  0.0340936   -18.313  < 2e-16 ***
origin_hex1388              0.7695726  0.0250794    30.685  < 2e-16 ***
origin_hex1389              0.0447629  0.0257848     1.736 0.082561 .  
origin_hex1390              0.3418253  0.0251305    13.602  < 2e-16 ***
origin_hex1391              0.4835179  0.0255982    18.889  < 2e-16 ***
origin_hex1392             -0.1207033  0.0288897    -4.178 2.94e-05 ***
origin_hex1393             -0.8351087  0.0284766   -29.326  < 2e-16 ***
origin_hex1394              0.4629447  0.0253674    18.250  < 2e-16 ***
origin_hex1395              0.4066355  0.0254377    15.986  < 2e-16 ***
origin_hex1396              1.7342509  0.0247361    70.110  < 2e-16 ***
origin_hex1397              1.3879109  0.0247643    56.045  < 2e-16 ***
origin_hex1398              0.6454748  0.0265351    24.325  < 2e-16 ***
origin_hex1400              1.9252166  0.0250545    76.841  < 2e-16 ***
origin_hex1401              2.0340919  0.0245314    82.918  < 2e-16 ***
origin_hex1402              2.3150693  0.0245943    94.130  < 2e-16 ***
origin_hex1404              2.2128511  0.0284288    77.838  < 2e-16 ***
origin_hex1410              1.1397432  0.0246277    46.279  < 2e-16 ***
origin_hex1411              0.2469550  0.0254984     9.685  < 2e-16 ***
origin_hex1412              0.5059181  0.0250216    20.219  < 2e-16 ***
origin_hex1413              1.3206917  0.0246899    53.491  < 2e-16 ***
origin_hex1414              0.4162891  0.0250396    16.625  < 2e-16 ***
origin_hex1415              0.1318114  0.0259050     5.088 3.61e-07 ***
origin_hex1416              0.8166251  0.0252761    32.308  < 2e-16 ***
origin_hex1417              0.8212286  0.0250535    32.779  < 2e-16 ***
origin_hex1418              1.6801791  0.0246895    68.052  < 2e-16 ***
origin_hex1419              1.0918192  0.0250736    43.545  < 2e-16 ***
origin_hex1422              2.2863318  0.0247110    92.523  < 2e-16 ***
origin_hex1423              3.3014575  0.0244396   135.086  < 2e-16 ***
origin_hex1430              0.9032695  0.0249181    36.250  < 2e-16 ***
origin_hex1431              1.0269839  0.0247049    41.570  < 2e-16 ***
origin_hex1432              1.0333342  0.0246928    41.848  < 2e-16 ***
origin_hex1433             -0.4202313  0.0289213   -14.530  < 2e-16 ***
origin_hex1434              1.0981275  0.0248118    44.258  < 2e-16 ***
origin_hex1435              1.6254410  0.0245531    66.201  < 2e-16 ***
origin_hex1436             -1.3187080  0.0330383   -39.915  < 2e-16 ***
origin_hex1437              1.8312131  0.0245994    74.441  < 2e-16 ***
origin_hex1438              2.1251370  0.0244495    86.919  < 2e-16 ***
origin_hex1439              2.7809703  0.0243954   113.995  < 2e-16 ***
origin_hex1440             -0.9659255  0.0314694   -30.694  < 2e-16 ***
origin_hex1442              1.7543233  0.0250779    69.955  < 2e-16 ***
origin_hex1443              2.9409004  0.0244813   120.129  < 2e-16 ***
origin_hex1444              2.1270502  0.0252719    84.167  < 2e-16 ***
origin_hex1452              0.0440742  0.0253850     1.736 0.082523 .  
origin_hex1453              0.4848512  0.0251221    19.300  < 2e-16 ***
origin_hex1454             -0.7195099  0.0302573   -23.780  < 2e-16 ***
origin_hex1455              0.5903097  0.0255264    23.125  < 2e-16 ***
origin_hex1456              1.1564150  0.0249186    46.408  < 2e-16 ***
origin_hex1457              1.9853115  0.0245571    80.845  < 2e-16 ***
origin_hex1458              1.9836572  0.0244974    80.974  < 2e-16 ***
origin_hex1459              1.6179798  0.0246445    65.653  < 2e-16 ***
origin_hex1460              0.9156630  0.0249997    36.627  < 2e-16 ***
origin_hex1461             -0.4079619  0.0293499   -13.900  < 2e-16 ***
origin_hex1464              2.9896260  0.0244538   122.256  < 2e-16 ***
origin_hex1465              2.7464298  0.0246451   111.439  < 2e-16 ***
origin_hex1472             -1.2194267  0.0306989   -39.722  < 2e-16 ***
origin_hex1473             -0.3279362  0.0260696   -12.579  < 2e-16 ***
origin_hex1474              0.6256624  0.0247920    25.236  < 2e-16 ***
origin_hex1475              1.7310842  0.0245647    70.470  < 2e-16 ***
origin_hex1476              1.1563774  0.0249824    46.288  < 2e-16 ***
origin_hex1477              2.4527680  0.0243794   100.608  < 2e-16 ***
origin_hex1478              0.8941965  0.0250077    35.757  < 2e-16 ***
origin_hex1479              1.0614417  0.0248642    42.690  < 2e-16 ***
origin_hex1480              2.7598904  0.0243670   113.263  < 2e-16 ***
origin_hex1481              0.3025476  0.0261592    11.566  < 2e-16 ***
origin_hex1482              0.2332892  0.0272541     8.560  < 2e-16 ***
origin_hex1485              1.4646609  0.0246766    59.354  < 2e-16 ***
origin_hex1494             -0.0192817  0.0268249    -0.719 0.472265    
origin_hex1495              0.1879398  0.0254092     7.397 1.40e-13 ***
origin_hex1496              0.6873668  0.0246460    27.890  < 2e-16 ***
origin_hex1497              1.5066968  0.0247378    60.907  < 2e-16 ***
origin_hex1498              1.8445564  0.0245449    75.150  < 2e-16 ***
origin_hex1499              2.0304483  0.0244746    82.961  < 2e-16 ***
origin_hex150               1.3822071  0.0312688    44.204  < 2e-16 ***
origin_hex1500              2.0418413  0.0247684    82.437  < 2e-16 ***
origin_hex1501              2.1452084  0.0244820    87.624  < 2e-16 ***
origin_hex1502              1.7196426  0.0246306    69.817  < 2e-16 ***
origin_hex1506             -2.7148033  0.1111474   -24.425  < 2e-16 ***
origin_hex151              -1.4743675  0.0634483   -23.237  < 2e-16 ***
origin_hex1515             -1.1438689  0.0321016   -35.633  < 2e-16 ***
origin_hex1516             -0.1415410  0.0250782    -5.644 1.66e-08 ***
origin_hex1517              0.8049441  0.0251119    32.054  < 2e-16 ***
origin_hex1518              0.8929948  0.0252504    35.366  < 2e-16 ***
origin_hex1519              2.1583588  0.0246654    87.505  < 2e-16 ***
origin_hex152              -1.4747506  0.0846653   -17.419  < 2e-16 ***
origin_hex1520              0.7690794  0.0251359    30.597  < 2e-16 ***
origin_hex1521              0.1018016  0.0265235     3.838 0.000124 ***
origin_hex1522              2.4280492  0.0244470    99.319  < 2e-16 ***
origin_hex1523              0.6286390  0.0283780    22.152  < 2e-16 ***
origin_hex1524              1.0127447  0.0258385    39.195  < 2e-16 ***
origin_hex1527              0.1874271  0.0289296     6.479 9.25e-11 ***
origin_hex153              -1.7334813  0.0481018   -36.038  < 2e-16 ***
origin_hex1535             -1.9963366  0.0759654   -26.280  < 2e-16 ***
origin_hex1536             -1.6609627  0.0402375   -41.279  < 2e-16 ***
origin_hex1537             -1.0759143  0.0287454   -37.429  < 2e-16 ***
origin_hex1538              0.6047826  0.0249289    24.260  < 2e-16 ***
origin_hex1539              1.0609196  0.0247134    42.929  < 2e-16 ***
origin_hex154               1.6112574  0.0258249    62.392  < 2e-16 ***
origin_hex1540              1.7281837  0.0245772    70.316  < 2e-16 ***
origin_hex1541              2.4157305  0.0246916    97.836  < 2e-16 ***
origin_hex1542             -0.0320725  0.0281212    -1.141 0.254075    
origin_hex1543              0.5173108  0.0310787    16.645  < 2e-16 ***
origin_hex1544              1.4121871  0.0250092    56.467  < 2e-16 ***
origin_hex1547             -2.0553466  0.0626281   -32.818  < 2e-16 ***
origin_hex155              -1.3890461  0.0407976   -34.047  < 2e-16 ***
origin_hex1556             -0.9482858  0.0584301   -16.229  < 2e-16 ***
origin_hex1557             -1.8801190  0.0391498   -48.024  < 2e-16 ***
origin_hex1558             -0.2494481  0.0299046    -8.341  < 2e-16 ***
origin_hex1559              1.2026220  0.0246486    48.791  < 2e-16 ***
origin_hex156              -0.5660419  0.0455517   -12.426  < 2e-16 ***
origin_hex1560              2.1065513  0.0244629    86.112  < 2e-16 ***
origin_hex1561              1.9524514  0.0246097    79.337  < 2e-16 ***
origin_hex1562             -1.0115384  0.0307725   -32.872  < 2e-16 ***
origin_hex1563              0.6809143  0.0252043    27.016  < 2e-16 ***
origin_hex1564             -0.0379621  0.0272847    -1.391 0.164125    
origin_hex1565             -0.1032857  0.0275858    -3.744 0.000181 ***
origin_hex1566             -0.5585801  0.0308585   -18.101  < 2e-16 ***
origin_hex1567             -2.4894831  0.0802303   -31.029  < 2e-16 ***
origin_hex1568             -1.7014221  0.0658351   -25.844  < 2e-16 ***
origin_hex1578             -3.9037237  0.7075236    -5.517 3.44e-08 ***
origin_hex1580             -0.1725988  0.0283428    -6.090 1.13e-09 ***
origin_hex1581             -1.4414661  0.0311122   -46.331  < 2e-16 ***
origin_hex1582              1.6795179  0.0244914    68.576  < 2e-16 ***
origin_hex1583             -0.2485624  0.0311663    -7.975 1.52e-15 ***
origin_hex1584              0.4313455  0.0261215    16.513  < 2e-16 ***
origin_hex1585              1.0531369  0.0256959    40.985  < 2e-16 ***
origin_hex1586              0.0684735  0.0269885     2.537 0.011176 *  
origin_hex1589             -3.0633912  0.1144069   -26.776  < 2e-16 ***
origin_hex1590             -1.7928321  0.0623641   -28.748  < 2e-16 ***
origin_hex1600              1.6324651  0.0258345    63.189  < 2e-16 ***
origin_hex1601              0.2380260  0.0252338     9.433  < 2e-16 ***
origin_hex1602              1.3142203  0.0248892    52.803  < 2e-16 ***
origin_hex1603              1.9179880  0.0245015    78.280  < 2e-16 ***
origin_hex1604              0.5456347  0.0253410    21.532  < 2e-16 ***
origin_hex1605              1.6400432  0.0245456    66.816  < 2e-16 ***
origin_hex1606              1.9164306  0.0257321    74.476  < 2e-16 ***
origin_hex1607              0.5272615  0.0258572    20.391  < 2e-16 ***
origin_hex1608              2.1951579  0.0245767    89.319  < 2e-16 ***
origin_hex1609              1.7815795  0.0247900    71.867  < 2e-16 ***
origin_hex1610             -1.6220880  0.0668200   -24.275  < 2e-16 ***
origin_hex1622              0.7326510  0.0312185    23.469  < 2e-16 ***
origin_hex1623              1.6182124  0.0245192    65.998  < 2e-16 ***
origin_hex1624              0.6153984  0.0254421    24.188  < 2e-16 ***
origin_hex1625              1.8387132  0.0246109    74.711  < 2e-16 ***
origin_hex1626              2.3541217  0.0244207    96.399  < 2e-16 ***
origin_hex1627              0.9254074  0.0251124    36.851  < 2e-16 ***
origin_hex1628              2.5605392  0.0244333   104.797  < 2e-16 ***
origin_hex1629              1.3788377  0.0250809    54.975  < 2e-16 ***
origin_hex1630              1.3251193  0.0253333    52.307  < 2e-16 ***
origin_hex1631             -2.2583380  0.0639175   -35.332  < 2e-16 ***
origin_hex1642             -0.6178627  0.0362756   -17.032  < 2e-16 ***
origin_hex1643              1.5809538  0.0245770    64.326  < 2e-16 ***
origin_hex1644             -0.2876204  0.0288866    -9.957  < 2e-16 ***
origin_hex1645              1.0223149  0.0248925    41.069  < 2e-16 ***
origin_hex1646              0.9863457  0.0256474    38.458  < 2e-16 ***
origin_hex1647              1.0661890  0.0248063    42.981  < 2e-16 ***
origin_hex1648              1.6812396  0.0246325    68.253  < 2e-16 ***
origin_hex1649              2.4132504  0.0244658    98.638  < 2e-16 ***
origin_hex1650              2.1490328  0.0247229    86.925  < 2e-16 ***
origin_hex1664             -3.1948556  0.1684264   -18.969  < 2e-16 ***
origin_hex1665              1.7775389  0.0245080    72.529  < 2e-16 ***
origin_hex1666              0.5885727  0.0251137    23.436  < 2e-16 ***
origin_hex1667              1.7348981  0.0262560    66.076  < 2e-16 ***
origin_hex1668              1.7615206  0.0246187    71.552  < 2e-16 ***
origin_hex1670              2.4667330  0.0244302   100.971  < 2e-16 ***
origin_hex1671              2.9620204  0.0246988   119.926  < 2e-16 ***
origin_hex1672              2.1155481  0.0248368    85.178  < 2e-16 ***
origin_hex1684              0.8533253  0.0268528    31.778  < 2e-16 ***
origin_hex1685              1.5424043  0.0247432    62.336  < 2e-16 ***
origin_hex1686              1.3339900  0.0247517    53.895  < 2e-16 ***
origin_hex1687              1.1079358  0.0252213    43.929  < 2e-16 ***
origin_hex1688              0.5097752  0.0255119    19.982  < 2e-16 ***
origin_hex1689             -0.0395075  0.0269320    -1.467 0.142393    
origin_hex1690              1.4007267  0.0250093    56.008  < 2e-16 ***
origin_hex1691              2.1300460  0.0245730    86.682  < 2e-16 ***
origin_hex1692              1.2067341  0.0254269    47.459  < 2e-16 ***
origin_hex1706              1.5201376  0.0249352    60.964  < 2e-16 ***
origin_hex1707              1.1840232  0.0246875    47.960  < 2e-16 ***
origin_hex1708              1.8717487  0.0245310    76.301  < 2e-16 ***
origin_hex1709              0.8742757  0.0250510    34.900  < 2e-16 ***
origin_hex1710              2.0812021  0.0245423    84.801  < 2e-16 ***
origin_hex1711              1.7187962  0.0246689    69.675  < 2e-16 ***
origin_hex1712              2.4207880  0.0244269    99.103  < 2e-16 ***
origin_hex1713             -0.0069182  0.0271121    -0.255 0.798591    
origin_hex1714              2.3468670  0.0246126    95.352  < 2e-16 ***
origin_hex172               0.1161334  0.0796012     1.459 0.144582    
origin_hex1727              1.5732091  0.0247329    63.608  < 2e-16 ***
origin_hex1728              1.4821106  0.0246492    60.128  < 2e-16 ***
origin_hex1729              0.9882227  0.0248174    39.820  < 2e-16 ***
origin_hex1730             -0.8845089  0.0313720   -28.194  < 2e-16 ***
origin_hex1731              1.4489884  0.0247760    58.483  < 2e-16 ***
origin_hex1732              2.1334882  0.0244701    87.188  < 2e-16 ***
origin_hex1733              1.8711834  0.0245980    76.071  < 2e-16 ***
origin_hex1734              1.9116159  0.0245640    77.822  < 2e-16 ***
origin_hex1735              2.8416028  0.0248593   114.307  < 2e-16 ***
origin_hex174              -1.5703626  0.0522543   -30.052  < 2e-16 ***
origin_hex1748              0.3965533  0.0258793    15.323  < 2e-16 ***
origin_hex1749              1.1880256  0.0246972    48.104  < 2e-16 ***
origin_hex175               0.7234549  0.0262499    27.560  < 2e-16 ***
origin_hex1750              0.4119589  0.0252264    16.330  < 2e-16 ***
origin_hex1751              0.1563932  0.0263570     5.934 2.96e-09 ***
origin_hex1753              2.0452347  0.0245021    83.472  < 2e-16 ***
origin_hex1754              2.4117265  0.0244263    98.735  < 2e-16 ***
origin_hex1755              1.8367861  0.0245870    74.706  < 2e-16 ***
origin_hex1756              1.7049568  0.0247485    68.891  < 2e-16 ***
origin_hex1757             -0.7660998  0.0343745   -22.287  < 2e-16 ***
origin_hex176               1.9703382  0.0249596    78.941  < 2e-16 ***
origin_hex1769              1.1902852  0.0248511    47.897  < 2e-16 ***
origin_hex1770              0.8392552  0.0260098    32.267  < 2e-16 ***
origin_hex1771             -0.0352760  0.0261372    -1.350 0.177129    
origin_hex1772             -0.0655458  0.0336076    -1.950 0.051137 .  
origin_hex1774              1.8469904  0.0245689    75.176  < 2e-16 ***
origin_hex1775              1.4068454  0.0247843    56.764  < 2e-16 ***
origin_hex1776              2.4304206  0.0244383    99.451  < 2e-16 ***
origin_hex1777              2.4760348  0.0245066   101.035  < 2e-16 ***
origin_hex1778              1.3766691  0.0259268    53.098  < 2e-16 ***
origin_hex1790              1.8116241  0.0246674    73.442  < 2e-16 ***
origin_hex1791              0.9486662  0.0249931    37.957  < 2e-16 ***
origin_hex1792              1.2774401  0.0250428    51.010  < 2e-16 ***
origin_hex1793             -0.7065948  0.0276470   -25.558  < 2e-16 ***
origin_hex1794             -0.1140569  0.0365439    -3.121 0.001802 ** 
origin_hex1795             -1.3352415  0.0407114   -32.798  < 2e-16 ***
origin_hex1796              2.1720403  0.0245525    88.465  < 2e-16 ***
origin_hex1797              2.2212371  0.0245058    90.641  < 2e-16 ***
origin_hex1798              2.3611829  0.0245070    96.347  < 2e-16 ***
origin_hex1799              1.0686115  0.0255343    41.850  < 2e-16 ***
origin_hex1800             -1.0264383  0.0361555   -28.390  < 2e-16 ***
origin_hex1811              1.1335755  0.0252354    44.920  < 2e-16 ***
origin_hex1812              2.0527259  0.0244683    83.893  < 2e-16 ***
origin_hex1813              1.7885028  0.0245096    72.971  < 2e-16 ***
origin_hex1817              1.8639790  0.0247469    75.322  < 2e-16 ***
origin_hex1818              2.1158525  0.0245797    86.081  < 2e-16 ***
origin_hex1819              2.4281783  0.0244761    99.206  < 2e-16 ***
origin_hex1820             -0.5307646  0.0407682   -13.019  < 2e-16 ***
origin_hex1832              1.6528291  0.0247493    66.783  < 2e-16 ***
origin_hex1833              1.1880095  0.0248966    47.718  < 2e-16 ***
origin_hex1834              1.5100423  0.0246213    61.331  < 2e-16 ***
origin_hex1835              0.8187114  0.0252654    32.404  < 2e-16 ***
origin_hex1837             -1.5466342  0.0654143   -23.644  < 2e-16 ***
origin_hex1839              1.5471459  0.0250595    61.739  < 2e-16 ***
origin_hex1840              3.2366441  0.0243618   132.858  < 2e-16 ***
origin_hex1841             -0.9197966  0.0420185   -21.890  < 2e-16 ***
origin_hex1842              1.7248908  0.0263375    65.492  < 2e-16 ***
origin_hex1853              1.5442291  0.0246937    62.535  < 2e-16 ***
origin_hex1854              1.9144208  0.0246301    77.727  < 2e-16 ***
origin_hex1855              1.8937956  0.0245510    77.137  < 2e-16 ***
origin_hex1858             -0.1201819  0.0349618    -3.438 0.000587 ***
origin_hex1860              2.6768628  0.0255338   104.836  < 2e-16 ***
origin_hex1861              2.1697832  0.0246072    88.177  < 2e-16 ***
origin_hex1874              1.9274085  0.0249046    77.392  < 2e-16 ***
origin_hex1875              0.0636901  0.0271521     2.346 0.018993 *  
origin_hex1876              1.9227528  0.0260462    73.821  < 2e-16 ***
origin_hex1877              1.5955806  0.0246577    64.709  < 2e-16 ***
origin_hex1880             -1.3771335  0.0560941   -24.550  < 2e-16 ***
origin_hex1882              2.1613412  0.0246758    87.590  < 2e-16 ***
origin_hex1883              2.0047289  0.0256659    78.109  < 2e-16 ***
origin_hex1895              1.8657329  0.0246420    75.713  < 2e-16 ***
origin_hex1896              0.2370993  0.0260495     9.102  < 2e-16 ***
origin_hex1897              1.0982683  0.0257172    42.706  < 2e-16 ***
origin_hex1898             -3.7308026  0.1346590   -27.706  < 2e-16 ***
origin_hex1901             -1.5210310  0.0636335   -23.903  < 2e-16 ***
origin_hex1903              1.1235354  0.0256818    43.748  < 2e-16 ***
origin_hex1917              0.5538608  0.0257911    21.475  < 2e-16 ***
origin_hex1918              2.4207642  0.0248345    97.476  < 2e-16 ***
origin_hex1919              1.6777517  0.0247227    67.863  < 2e-16 ***
origin_hex1922             -0.3239203  0.0371584    -8.717  < 2e-16 ***
origin_hex1924              0.8583421  0.0258466    33.209  < 2e-16 ***
origin_hex1937              1.1326561  0.0250946    45.135  < 2e-16 ***
origin_hex1938              1.8649262  0.0245913    75.837  < 2e-16 ***
origin_hex1939              2.6507064  0.0245235   108.088  < 2e-16 ***
origin_hex1942             -1.4377100  0.0527900   -27.235  < 2e-16 ***
origin_hex195              -2.0608387  0.0844119   -24.414  < 2e-16 ***
origin_hex1959              0.9073389  0.0256067    35.434  < 2e-16 ***
origin_hex196              -1.5749251  0.0484118   -32.532  < 2e-16 ***
origin_hex1960              2.7252876  0.0243731   111.815  < 2e-16 ***
origin_hex1961              1.3975555  0.0251006    55.678  < 2e-16 ***
origin_hex1962              2.2676868  0.0245696    92.297  < 2e-16 ***
origin_hex1964             -2.3288075  0.0913288   -25.499  < 2e-16 ***
origin_hex197              -2.0035566  0.1124166   -17.823  < 2e-16 ***
origin_hex1979              1.0640461  0.0253756    41.932  < 2e-16 ***
origin_hex1980             -0.4320773  0.0277146   -15.590  < 2e-16 ***
origin_hex1981              2.0854523  0.0245730    84.868  < 2e-16 ***
origin_hex1982              0.9089485  0.0264452    34.371  < 2e-16 ***
origin_hex1983              2.4343304  0.0245712    99.073  < 2e-16 ***
origin_hex1984              1.2417646  0.0252693    49.141  < 2e-16 ***
origin_hex1985              1.5538997  0.0249607    62.254  < 2e-16 ***
origin_hex2001              1.4334532  0.0248684    57.642  < 2e-16 ***
origin_hex2002              2.1112185  0.0244897    86.208  < 2e-16 ***
origin_hex2003              1.7017923  0.0247042    68.887  < 2e-16 ***
origin_hex2004              2.6968505  0.0245376   109.907  < 2e-16 ***
origin_hex2005              2.5001485  0.0245417   101.874  < 2e-16 ***
origin_hex2006              1.0667163  0.0258241    41.307  < 2e-16 ***
origin_hex2007             -0.1306307  0.0288421    -4.529 5.92e-06 ***
origin_hex2022              2.0675309  0.0248470    83.210  < 2e-16 ***
origin_hex2023              2.3399439  0.0244757    95.603  < 2e-16 ***
origin_hex2024              1.8123037  0.0246402    73.551  < 2e-16 ***
origin_hex2025              2.0536191  0.0246183    83.418  < 2e-16 ***
origin_hex2026              0.6551640  0.0267449    24.497  < 2e-16 ***
origin_hex2027              1.9245901  0.0245170    78.500  < 2e-16 ***
origin_hex2043              1.0488691  0.0253083    41.444  < 2e-16 ***
origin_hex2044              2.0806868  0.0245541    84.739  < 2e-16 ***
origin_hex2045             -2.4528313  0.0781923   -31.369  < 2e-16 ***
origin_hex2046              2.0447240  0.0245032    83.447  < 2e-16 ***
origin_hex2047              2.0218108  0.0247128    81.812  < 2e-16 ***
origin_hex2048              2.2077052  0.0246168    89.683  < 2e-16 ***
origin_hex2049             -0.9602557  0.0277203   -34.641  < 2e-16 ***
origin_hex2064              2.1043739  0.0246584    85.341  < 2e-16 ***
origin_hex2065              0.6815604  0.0255357    26.690  < 2e-16 ***
origin_hex2066              0.5659638  0.0317012    17.853  < 2e-16 ***
origin_hex2067              3.0750299  0.0243510   126.280  < 2e-16 ***
origin_hex2068              2.2070332  0.0250974    87.939  < 2e-16 ***
origin_hex2069              1.7363895  0.0247842    70.060  < 2e-16 ***
origin_hex2085              0.4801934  0.0258742    18.559  < 2e-16 ***
origin_hex2086              2.2882675  0.0245230    93.311  < 2e-16 ***
origin_hex2087              1.1414335  0.0251955    45.303  < 2e-16 ***
origin_hex2088              1.8038627  0.0246097    73.299  < 2e-16 ***
origin_hex2089              1.1865108  0.0250204    47.422  < 2e-16 ***
origin_hex2090              2.6571904  0.0244366   108.738  < 2e-16 ***
origin_hex2091             -2.3706832  0.0720937   -32.883  < 2e-16 ***
origin_hex2105             -1.4055747  0.1038909   -13.529  < 2e-16 ***
origin_hex2106             -0.5904103  0.0305473   -19.328  < 2e-16 ***
origin_hex2107              0.4322031  0.0258326    16.731  < 2e-16 ***
origin_hex2108              1.8185007  0.0247700    73.415  < 2e-16 ***
origin_hex2109              1.6392370  0.0246014    66.632  < 2e-16 ***
origin_hex2110              1.4078177  0.0252014    55.863  < 2e-16 ***
origin_hex2111             -1.2900263  0.0460754   -27.998  < 2e-16 ***
origin_hex2128              0.2832964  0.0273886    10.344  < 2e-16 ***
origin_hex2129             -0.0686405  0.0281300    -2.440 0.014683 *  
origin_hex2130              1.9203759  0.0245014    78.378  < 2e-16 ***
origin_hex2131              2.1303189  0.0245865    86.646  < 2e-16 ***
origin_hex2132              1.6552753  0.0248847    66.518  < 2e-16 ***
origin_hex2148              0.8384864  0.0265167    31.621  < 2e-16 ***
origin_hex2149             -0.2510281  0.0286401    -8.765  < 2e-16 ***
origin_hex215              -1.6557360  0.0859778   -19.258  < 2e-16 ***
origin_hex2150              1.5312252  0.0246049    62.233  < 2e-16 ***
origin_hex2151              2.5181218  0.0244366   103.047  < 2e-16 ***
origin_hex2152              2.7010657  0.0244765   110.353  < 2e-16 ***
origin_hex2153              1.9016976  0.0247947    76.698  < 2e-16 ***
origin_hex216               2.6735167  0.0247684   107.941  < 2e-16 ***
origin_hex217              -0.8425049  0.0316572   -26.613  < 2e-16 ***
origin_hex2171              1.2562636  0.0251527    49.945  < 2e-16 ***
origin_hex2172              1.6519476  0.0253576    65.146  < 2e-16 ***
origin_hex2173              1.7189093  0.0247173    69.543  < 2e-16 ***
origin_hex2174              2.1050378  0.0247191    85.158  < 2e-16 ***
origin_hex2191              1.0412213  0.0261374    39.836  < 2e-16 ***
origin_hex2192              0.5158443  0.0264223    19.523  < 2e-16 ***
origin_hex2193              1.5767770  0.0248894    63.351  < 2e-16 ***
origin_hex2194              1.8443982  0.0246942    74.689  < 2e-16 ***
origin_hex2195              1.6103516  0.0312886    51.468  < 2e-16 ***
origin_hex2212             -1.2609932  0.0834174   -15.117  < 2e-16 ***
origin_hex2213             -1.5422344  0.0450780   -34.213  < 2e-16 ***
origin_hex2214             -0.1923955  0.0341430    -5.635 1.75e-08 ***
origin_hex2215              1.5574324  0.0250320    62.218  < 2e-16 ***
origin_hex2216              0.7574532  0.0263746    28.719  < 2e-16 ***
origin_hex2233             -1.2789626  0.0456498   -28.017  < 2e-16 ***
origin_hex2234             -0.1989037  0.0309425    -6.428 1.29e-10 ***
origin_hex2235              0.4993945  0.0273458    18.262  < 2e-16 ***
origin_hex2236              0.3389846  0.0272244    12.451  < 2e-16 ***
origin_hex2237             -1.5681504  0.0586358   -26.744  < 2e-16 ***
origin_hex2256             -2.1659602  0.0556937   -38.891  < 2e-16 ***
origin_hex2257             -0.0937605  0.0303261    -3.092 0.001990 ** 
origin_hex2258             -0.5265894  0.0298275   -17.654  < 2e-16 ***
origin_hex2259             -0.7394840  0.0425993   -17.359  < 2e-16 ***
origin_hex2277             -0.4620386  0.0460485   -10.034  < 2e-16 ***
origin_hex2278              0.4304280  0.0283670    15.174  < 2e-16 ***
origin_hex2279             -0.3351217  0.0307185   -10.909  < 2e-16 ***
origin_hex2280             -2.5109015  0.1033926   -24.285  < 2e-16 ***
origin_hex2297              1.6770111  0.0257091    65.230  < 2e-16 ***
origin_hex23               -0.9705951  0.1014788    -9.565  < 2e-16 ***
origin_hex2300             -1.8683451  0.0642071   -29.099  < 2e-16 ***
origin_hex2301             -0.2688969  0.0302355    -8.893  < 2e-16 ***
origin_hex2318             -0.0163542  0.0302094    -0.541 0.588258    
origin_hex2319              0.9196525  0.0261470    35.172  < 2e-16 ***
origin_hex2322              0.7227053  0.0269652    26.801  < 2e-16 ***
origin_hex2337              2.0241564  0.0285318    70.944  < 2e-16 ***
origin_hex2341              1.4957459  0.0257708    58.040  < 2e-16 ***
origin_hex2343              0.3989037  0.0278986    14.298  < 2e-16 ***
origin_hex2361              0.8138944  0.0263334    30.907  < 2e-16 ***
origin_hex2364             -2.1044980  0.0688356   -30.573  < 2e-16 ***
origin_hex237              -2.7885369  0.1580492   -17.643  < 2e-16 ***
origin_hex2379              1.6503018  0.0296016    55.750  < 2e-16 ***
origin_hex238              -1.4997852  0.0565107   -26.540  < 2e-16 ***
origin_hex2384              0.9999326  0.0281199    35.560  < 2e-16 ***
origin_hex239              -2.2888601  0.1599666   -14.308  < 2e-16 ***
origin_hex2405              0.7561547  0.0280448    26.962  < 2e-16 ***
origin_hex2406             -0.8011220  0.0410105   -19.535  < 2e-16 ***
origin_hex2426              1.3677320  0.0356988    38.313  < 2e-16 ***
origin_hex2427              1.5731451  0.0263300    59.747  < 2e-16 ***
origin_hex2505              0.9985043  0.0436050    22.899  < 2e-16 ***
origin_hex257              -1.6751195  0.0614333   -27.267  < 2e-16 ***
origin_hex258              -0.9836483  0.0363440   -27.065  < 2e-16 ***
origin_hex259              -1.3295051  0.0470114   -28.280  < 2e-16 ***
origin_hex278              -0.2889196  0.0453383    -6.373 1.86e-10 ***
origin_hex279              -1.8000867  0.0492019   -36.586  < 2e-16 ***
origin_hex280              -1.6200713  0.0512440   -31.615  < 2e-16 ***
origin_hex298              -3.8011466  0.3342162   -11.373  < 2e-16 ***
origin_hex299              -1.7558076  0.0551938   -31.812  < 2e-16 ***
origin_hex300               1.4165057  0.0257116    55.092  < 2e-16 ***
origin_hex320              -1.7049387  0.0681019   -25.035  < 2e-16 ***
origin_hex321              -1.2833990  0.0751002   -17.089  < 2e-16 ***
origin_hex322              -0.6756688  0.0526106   -12.843  < 2e-16 ***
origin_hex340              -0.3022205  0.0364525    -8.291  < 2e-16 ***
origin_hex341              -2.0140101  0.0503862   -39.971  < 2e-16 ***
origin_hex342              -1.3537276  0.0477346   -28.359  < 2e-16 ***
origin_hex363              -0.5497621  0.0441789   -12.444  < 2e-16 ***
origin_hex364              -0.2827168  0.0358748    -7.881 3.26e-15 ***
origin_hex383              -0.7698838  0.0394630   -19.509  < 2e-16 ***
origin_hex384              -3.7928787  0.0574466   -66.024  < 2e-16 ***
origin_hex385              -0.6036230  0.0519951   -11.609  < 2e-16 ***
origin_hex404               0.0117837  0.0417130     0.282 0.777564    
origin_hex405              -1.4239623  0.0542941   -26.227  < 2e-16 ***
origin_hex406               2.6964695  0.0243902   110.556  < 2e-16 ***
origin_hex407              -0.9609592  0.0514044   -18.694  < 2e-16 ***
origin_hex408               0.0444467  0.0332054     1.339 0.180720    
origin_hex425              -2.4725645  0.0913294   -27.073  < 2e-16 ***
origin_hex426              -1.3238033  0.0381381   -34.711  < 2e-16 ***
origin_hex427              -1.4550817  0.0428844   -33.930  < 2e-16 ***
origin_hex428              -1.9396608  0.0815455   -23.786  < 2e-16 ***
origin_hex429               0.4309394  0.0331075    13.016  < 2e-16 ***
origin_hex44               -3.1352658  0.1407819   -22.270  < 2e-16 ***
origin_hex446              -1.1016145  0.0635399   -17.337  < 2e-16 ***
origin_hex447              -1.5231744  0.0506505   -30.072  < 2e-16 ***
origin_hex448              -0.6402313  0.0368811   -17.359  < 2e-16 ***
origin_hex449               1.5223865  0.0249846    60.933  < 2e-16 ***
origin_hex450               0.1213793  0.0310999     3.903 9.51e-05 ***
origin_hex46               -1.8590699  0.0906807   -20.501  < 2e-16 ***
origin_hex468              -0.3601401  0.0367142    -9.809  < 2e-16 ***
origin_hex469              -0.1968023  0.0298607    -6.591 4.38e-11 ***
origin_hex470               2.2699255  0.0246470    92.098  < 2e-16 ***
origin_hex471               0.8029461  0.0290087    27.680  < 2e-16 ***
origin_hex488              -1.6008959  0.0622785   -25.705  < 2e-16 ***
origin_hex489              -3.5288324  0.2511754   -14.049  < 2e-16 ***
origin_hex490               0.8778482  0.0267806    32.779  < 2e-16 ***
origin_hex491               1.1016759  0.0253192    43.511  < 2e-16 ***
origin_hex493              -3.1077468  0.1407826   -22.075  < 2e-16 ***
origin_hex494              -1.0849159  0.0636331   -17.050  < 2e-16 ***
origin_hex509              -0.7845356  0.0415232   -18.894  < 2e-16 ***
origin_hex510              -0.3819871  0.0345186   -11.066  < 2e-16 ***
origin_hex511               0.3876989  0.0264395    14.664  < 2e-16 ***
origin_hex512               2.7473087  0.0244409   112.406  < 2e-16 ***
origin_hex513              -0.3098870  0.0340649    -9.097  < 2e-16 ***
origin_hex514              -0.4396772  0.0440076    -9.991  < 2e-16 ***
origin_hex515              -2.6647497  0.1394879   -19.104  < 2e-16 ***
origin_hex530              -1.8046363  0.0844099   -21.379  < 2e-16 ***
origin_hex531              -0.3852144  0.0315015   -12.228  < 2e-16 ***
origin_hex532              -0.6408790  0.0333653   -19.208  < 2e-16 ***
origin_hex533               2.6932082  0.0244489   110.156  < 2e-16 ***
origin_hex534               3.2269770  0.0244900   131.767  < 2e-16 ***
origin_hex536              -0.1184818  0.0348137    -3.403 0.000666 ***
origin_hex537              -2.5181301  0.1394879   -18.053  < 2e-16 ***
origin_hex538              -2.8513953  0.2055619   -13.871  < 2e-16 ***
origin_hex539              -4.9209071  0.5778602    -8.516  < 2e-16 ***
origin_hex551              -1.6167546  0.0591278   -27.343  < 2e-16 ***
origin_hex552               0.1412141  0.0437674     3.226 0.001253 ** 
origin_hex553              -0.8705533  0.0307317   -28.328  < 2e-16 ***
origin_hex554               2.4678100  0.0244895   100.770  < 2e-16 ***
origin_hex555               2.2178575  0.0251379    88.228  < 2e-16 ***
origin_hex559              -1.9368528  0.0963566   -20.101  < 2e-16 ***
origin_hex560              -0.1824472  0.0531611    -3.432 0.000599 ***
origin_hex572              -3.8668734  0.2249202   -17.192  < 2e-16 ***
origin_hex573              -1.1688640  0.0497938   -23.474  < 2e-16 ***
origin_hex574              -0.8039111  0.0434510   -18.502  < 2e-16 ***
origin_hex575               3.6081410  0.0243243   148.335  < 2e-16 ***
origin_hex576               2.3430598  0.0246917    94.892  < 2e-16 ***
origin_hex578              -2.5681922  0.1099236   -23.363  < 2e-16 ***
origin_hex582              -2.2860198  0.1093279   -20.910  < 2e-16 ***
origin_hex583              -2.9959310  0.1976120   -15.161  < 2e-16 ***
origin_hex584              -0.1660514  0.0601606    -2.760 0.005778 ** 
origin_hex593              -1.5594103  0.0550824   -28.311  < 2e-16 ***
origin_hex594              -0.2143640  0.0354179    -6.052 1.43e-09 ***
origin_hex595              -0.7412887  0.0312477   -23.723  < 2e-16 ***
origin_hex596               2.1103209  0.0245864    85.833  < 2e-16 ***
origin_hex597              -1.1318485  0.0636333   -17.787  < 2e-16 ***
origin_hex603              -2.0626689  0.1111470   -18.558  < 2e-16 ***
origin_hex604              -3.7009468  0.2683609   -13.791  < 2e-16 ***
origin_hex615              -1.8245108  0.0501211   -36.402  < 2e-16 ***
origin_hex616              -0.7191504  0.0377793   -19.036  < 2e-16 ***
origin_hex617              -0.0539424  0.0297904    -1.811 0.070182 .  
origin_hex618               2.5250244  0.0245028   103.050  < 2e-16 ***
origin_hex620              -0.6030743  0.0404076   -14.925  < 2e-16 ***
origin_hex637              -1.4408026  0.0460745   -31.271  < 2e-16 ***
origin_hex638               2.1903587  0.0245608    89.181  < 2e-16 ***
origin_hex657              -0.0236013  0.0290922    -0.811 0.417218    
origin_hex658               1.4308076  0.0250198    57.187  < 2e-16 ***
origin_hex659               1.8090091  0.0247959    72.956  < 2e-16 ***
origin_hex66               -2.0507142  0.1273347   -16.105  < 2e-16 ***
origin_hex660               2.8608993  0.0244327   117.093  < 2e-16 ***
origin_hex662               2.3594996  0.0252243    93.541  < 2e-16 ***
origin_hex67               -0.0831442  0.0347133    -2.395 0.016613 *  
origin_hex677              -0.2450086  0.0329674    -7.432 1.07e-13 ***
origin_hex678              -1.9482875  0.0498660   -39.070  < 2e-16 ***
origin_hex679               2.6129720  0.0244772   106.751  < 2e-16 ***
origin_hex68               -2.5003843  0.1313620   -19.034  < 2e-16 ***
origin_hex680               2.7921217  0.0244730   114.090  < 2e-16 ***
origin_hex681               1.9086821  0.0256099    74.529  < 2e-16 ***
origin_hex699              -0.3651760  0.0327084   -11.165  < 2e-16 ***
origin_hex700               1.5982676  0.0249503    64.058  < 2e-16 ***
origin_hex701               1.6272875  0.0249692    65.172  < 2e-16 ***
origin_hex702               2.6986637  0.0244614   110.324  < 2e-16 ***
origin_hex704              -0.6343091  0.0400522   -15.837  < 2e-16 ***
origin_hex722              -0.3366533  0.0300837   -11.191  < 2e-16 ***
origin_hex725              -1.4100394  0.0498289   -28.298  < 2e-16 ***
origin_hex741               0.2455293  0.0291753     8.416  < 2e-16 ***
origin_hex743              -0.1800899  0.0271431    -6.635 3.25e-11 ***
origin_hex744               2.0923640  0.0246157    85.001  < 2e-16 ***
origin_hex761              -0.4078059  0.0363398   -11.222  < 2e-16 ***
origin_hex762               1.6561842  0.0251929    65.740  < 2e-16 ***
origin_hex763              -1.8341096  0.0366976   -49.979  < 2e-16 ***
origin_hex764               2.4824942  0.0244542   101.516  < 2e-16 ***
origin_hex765               1.5064839  0.0255301    59.008  < 2e-16 ***
origin_hex767               2.9299600  0.0244919   119.630  < 2e-16 ***
origin_hex772              -1.8411516  0.0759628   -24.238  < 2e-16 ***
origin_hex784              -1.3199110  0.0337032   -39.163  < 2e-16 ***
origin_hex785               1.6522304  0.0245989    67.167  < 2e-16 ***
origin_hex786               1.2463528  0.0249358    49.983  < 2e-16 ***
origin_hex787               1.7924862  0.0252423    71.011  < 2e-16 ***
origin_hex788               2.1840683  0.0247680    88.181  < 2e-16 ***
origin_hex789               0.1923418  0.0263448     7.301 2.86e-13 ***
origin_hex803              -1.7921396  0.0544465   -32.916  < 2e-16 ***
origin_hex804               2.4434841  0.0245586    99.496  < 2e-16 ***
origin_hex805               2.2451476  0.0244546    91.809  < 2e-16 ***
origin_hex806               1.5906586  0.0245950    64.674  < 2e-16 ***
origin_hex807               2.4582764  0.0245809   100.007  < 2e-16 ***
origin_hex808               0.9467177  0.0265246    35.692  < 2e-16 ***
origin_hex809               2.6404616  0.0244624   107.939  < 2e-16 ***
origin_hex810               1.9153810  0.0248296    77.141  < 2e-16 ***
origin_hex814              -0.3174635  0.0366335    -8.666  < 2e-16 ***
origin_hex819               4.6088181  0.0297317   155.014  < 2e-16 ***
origin_hex824              -1.1325198  0.0453358   -24.981  < 2e-16 ***
origin_hex826              -0.1348523  0.0261788    -5.151 2.59e-07 ***
origin_hex827               2.0755337  0.0245147    84.665  < 2e-16 ***
origin_hex828               2.2303237  0.0244946    91.054  < 2e-16 ***
origin_hex829               2.2887108  0.0246261    92.939  < 2e-16 ***
origin_hex830               2.4019448  0.0247401    97.087  < 2e-16 ***
origin_hex831               3.0708573  0.0243906   125.903  < 2e-16 ***
origin_hex832               2.1069748  0.0249433    84.471  < 2e-16 ***
origin_hex835              -1.0811868  0.0379680   -28.476  < 2e-16 ***
origin_hex844              -2.5383178  0.0815457   -31.128  < 2e-16 ***
origin_hex846               1.5306849  0.0247581    61.826  < 2e-16 ***
origin_hex847               0.3247744  0.0257845    12.596  < 2e-16 ***
origin_hex848               1.6881586  0.0246761    68.413  < 2e-16 ***
origin_hex849               0.7050719  0.0254206    27.736  < 2e-16 ***
origin_hex850               1.6674939  0.0247967    67.247  < 2e-16 ***
origin_hex851               2.1774709  0.0245627    88.649  < 2e-16 ***
origin_hex852               1.7689030  0.0249404    70.925  < 2e-16 ***
origin_hex853               2.8936519  0.0244896   118.159  < 2e-16 ***
origin_hex854              -0.5929902  0.0354053   -16.749  < 2e-16 ***
origin_hex855              -1.2592624  0.0497216   -25.326  < 2e-16 ***
origin_hex856              -0.3188275  0.0301306   -10.582  < 2e-16 ***
origin_hex86               -1.1606949  0.0774251   -14.991  < 2e-16 ***
origin_hex866              -0.7877607  0.0399512   -19.718  < 2e-16 ***
origin_hex867               0.4299775  0.0269246    15.970  < 2e-16 ***
origin_hex868              -0.4704380  0.0299387   -15.713  < 2e-16 ***
origin_hex869               2.3225840  0.0248936    93.301  < 2e-16 ***
origin_hex87               -1.4741663  0.0846664   -17.411  < 2e-16 ***
origin_hex870               2.6443052  0.0243971   108.386  < 2e-16 ***
origin_hex871               2.0825569  0.0248864    83.683  < 2e-16 ***
origin_hex872               0.4420899  0.0264999    16.683  < 2e-16 ***
origin_hex873               0.7469832  0.0261928    28.519  < 2e-16 ***
origin_hex874               0.3364649  0.0255001    13.195  < 2e-16 ***
origin_hex875              -2.4943539  0.0759636   -32.836  < 2e-16 ***
origin_hex876              -1.0919623  0.0397009   -27.505  < 2e-16 ***
origin_hex877              -1.8470438  0.0467878   -39.477  < 2e-16 ***
origin_hex88                0.5418056  0.0305202    17.752  < 2e-16 ***
origin_hex887               0.1954720  0.0276330     7.074 1.51e-12 ***
origin_hex888               1.3845864  0.0251444    55.065  < 2e-16 ***
origin_hex889              -1.5966428  0.0416163   -38.366  < 2e-16 ***
origin_hex89               -1.0776900  0.0551941   -19.525  < 2e-16 ***
origin_hex890               2.1797038  0.0244874    89.013  < 2e-16 ***
origin_hex891               0.4935810  0.0266498    18.521  < 2e-16 ***
origin_hex893               2.2859950  0.0245250    93.211  < 2e-16 ***
origin_hex894               0.2912292  0.0265126    10.985  < 2e-16 ***
origin_hex895              -0.0151099  0.0285229    -0.530 0.596287    
origin_hex896              -0.5318799  0.0350072   -15.193  < 2e-16 ***
origin_hex897              -2.2418535  0.0683423   -32.803  < 2e-16 ***
origin_hex898              -0.7161403  0.0378161   -18.937  < 2e-16 ***
origin_hex90               -2.2244606  0.1346588   -16.519  < 2e-16 ***
origin_hex908               1.1549523  0.0269410    42.870  < 2e-16 ***
origin_hex909               1.3397449  0.0248401    53.935  < 2e-16 ***
origin_hex910              -0.5660966  0.0296496   -19.093  < 2e-16 ***
origin_hex911               0.6911371  0.0256725    26.921  < 2e-16 ***
origin_hex912               1.7897798  0.0245773    72.822  < 2e-16 ***
origin_hex915               2.1706130  0.0245759    88.323  < 2e-16 ***
origin_hex917               1.5274897  0.0252461    60.504  < 2e-16 ***
origin_hex918              -1.5139676  0.0434667   -34.830  < 2e-16 ***
origin_hex919               1.0283388  0.0257800    39.889  < 2e-16 ***
origin_hex928               0.3607581  0.0276086    13.067  < 2e-16 ***
origin_hex929               1.7761029  0.0246164    72.151  < 2e-16 ***
origin_hex930               2.1336253  0.0244022    87.436  < 2e-16 ***
origin_hex931              -0.4851803  0.0293047   -16.556  < 2e-16 ***
origin_hex932               0.0016080  0.0297782     0.054 0.956936    
origin_hex933               1.9054339  0.0248179    76.777  < 2e-16 ***
origin_hex934              -0.6421296  0.0296298   -21.672  < 2e-16 ***
origin_hex935               2.8993519  0.0243954   118.848  < 2e-16 ***
origin_hex938              -3.9969673  0.2145781   -18.627  < 2e-16 ***
origin_hex939               2.9342987  0.0244842   119.845  < 2e-16 ***
origin_hex940              -2.1749441  0.0650028   -33.459  < 2e-16 ***
origin_hex949               0.2485610  0.0272489     9.122  < 2e-16 ***
origin_hex950               2.1195182  0.0246659    85.929  < 2e-16 ***
origin_hex951               2.8811059  0.0243570   118.287  < 2e-16 ***
origin_hex952              -0.0174483  0.0319341    -0.546 0.584803    
origin_hex953               0.9357192  0.0259165    36.105  < 2e-16 ***
origin_hex954              -0.6918352  0.0293027   -23.610  < 2e-16 ***
origin_hex955               1.5530909  0.0248235    62.565  < 2e-16 ***
origin_hex956               0.1497703  0.0266938     5.611 2.02e-08 ***
origin_hex957               2.1401107  0.0248172    86.235  < 2e-16 ***
origin_hex959              -0.7832966  0.0540871   -14.482  < 2e-16 ***
origin_hex961              -1.2784075  0.0383517   -33.334  < 2e-16 ***
origin_hex962               4.8985493  0.0245533   199.506  < 2e-16 ***
origin_hex970               0.8686056  0.0254299    34.157  < 2e-16 ***
origin_hex971               2.0385847  0.0244933    83.230  < 2e-16 ***
origin_hex972               1.4761030  0.0246480    59.887  < 2e-16 ***
origin_hex974               1.0564787  0.0252472    41.845  < 2e-16 ***
origin_hex975               0.7779200  0.0257246    30.240  < 2e-16 ***
origin_hex976              -0.6400586  0.0293632   -21.798  < 2e-16 ***
origin_hex977               2.5856233  0.0244779   105.631  < 2e-16 ***
origin_hex978               0.3472719  0.0251430    13.812  < 2e-16 ***
origin_hex982               0.0844246  0.0280702     3.008 0.002633 ** 
origin_hex983               3.9389477  0.0244624   161.021  < 2e-16 ***
origin_hex984               4.8387086  0.0244665   197.768  < 2e-16 ***
origin_hex991               0.5999422  0.0257195    23.326  < 2e-16 ***
origin_hex992               1.2095545  0.0251177    48.156  < 2e-16 ***
origin_hex993               0.7642609  0.0252670    30.247  < 2e-16 ***
origin_hex994               0.1869182  0.0264842     7.058 1.69e-12 ***
origin_hex995               1.6126169  0.0248068    65.007  < 2e-16 ***
origin_hex996               0.7385155  0.0253029    29.187  < 2e-16 ***
origin_hex997              -0.3619558  0.0378250    -9.569  < 2e-16 ***
origin_hex998               2.4806540  0.0245023   101.242  < 2e-16 ***
origin_hex999               1.4688060  0.0247783    59.278  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 98559950  on 64884  degrees of freedom
Residual deviance: 38774300  on 64059  degrees of freedom
AIC: 39132651

Number of Fisher Scoring iterations: 7
Code
CalcRSquared(orcSIM$data$trips, orcSIM$fitted.values)
[1] 0.2825061
  • glm from stats R package is used to fit generalized linear models, specified by giving a symbolic description of the linear predictor and a description of the error distribution. In this code, it’s applied to the trips as the response variable and a set of predictor variables in the final_df data frame.
  • The formula trips ~ log(push_num_bus_stops) + log(push_station_count) + log(push_trainexit_count) + log(push_hdb_sf_count) + log(push_est_pop) + log(distance) + destination_hex specifies that trips is modeled as a function of push_num_bus_stops, push_station_count, push_trainexit_count, push_hdb_sf_count, push_est_pop, distance, and destination_hex. The log function is applied to transform the predictor variables.
  • The argument family = poisson(link = "log") specifies that a Poisson regression model is fitted with a log link function.
  • The argument na.action = na.exclude specifies that any missing values should be excluded from the model fitting process.
  • summary from base R package is used to produce result summaries of the results of various model fitting functions. In this code, it’s applied to the fitted model decSIM to obtain a summary of the model fit.
  • CalcRSquared is a user-defined function which is used to calculate the R-squared value of the fitted model. It takes the observed values decSIM$data$trips and the fitted values decSIM$fitted.values as inputs.

Key Coefficients: The estimated coefficients from the Poisson regression model provide insights into the relationship between predictor variables and the logarithm of trip counts. Each coefficient represents the change in the log count of trips associated with a one-unit change in the corresponding predictor, holding other variables constant. Highly significant p-values (< 2e-16) emphasize the robustness of these associations.

  • Intercept: 13.44 (p < 2e-16)
  • log(pull_station_count): -0.403 (p < 2e-16)
  • log(pull_trainexit_count): 0.662 (p < 2e-16)
  • log(pull_biz_count): 0.108 (p < 2e-16)
  • log(pull_entertn_count): -0.089 (p < 2e-16)
  • log(pull_fnb_count): -0.134 (p < 2e-16)
  • log(pull_finance_count): 0.265 (p < 2e-16)
  • log(pull_lnr_count): -0.166 (p < 2e-16)
  • log(pull_retails_count): 0.060 (p < 2e-16)
  • log(pull_schools_sf_count): 0.230 (p < 2e-16)
  • log(distance): -1.239 (p < 2e-16)
  • origin_hex1003: 2.486 (p < 2e-16)
  • origin_hex1004: 3.300 (p < 2e-16)
  • origin_hex1011: -0.784 (p < 2e-16)
  • origin_hex1012: -0.841 (p < 2e-16)
  • and various other dummy origin variables in which many are statistically significant.

Model Fit: The coefficient of determination (R-squared) for the model is 0.283, indicating that approximately 28.3% of the variability in trip counts can be explained by the selected predictor variables. The significance of individual coefficients and the model’s goodness-of-fit metrics, such as the residual deviance and AIC, support its effectiveness in capturing patterns within the dataset. The p-values associated with each coefficient highlight their statistical significance in influencing trip counts.

Destination Constrained

Code
decSIM <- glm(formula = trips ~ 
                log(push_num_bus_stops) +
                log(push_station_count) +
                log(push_trainexit_count) +
                log(push_hdb_sf_count) +
                log(push_est_pop) +
                log(distance) +
                destination_hex,
              family = poisson(link = "log"),
              data = final_df,
              na.action = na.exclude)

summary(decSIM)

Call:
glm(formula = trips ~ log(push_num_bus_stops) + log(push_station_count) + 
    log(push_trainexit_count) + log(push_hdb_sf_count) + log(push_est_pop) + 
    log(distance) + destination_hex, family = poisson(link = "log"), 
    data = final_df, na.action = na.exclude)

Coefficients:
                            Estimate Std. Error   z value Pr(>|z|)    
(Intercept)                1.390e+01  1.545e-02   899.410  < 2e-16 ***
log(push_num_bus_stops)    3.201e-01  5.263e-04   608.189  < 2e-16 ***
log(push_station_count)   -5.477e-01  9.379e-04  -584.008  < 2e-16 ***
log(push_trainexit_count)  4.554e-01  4.126e-04  1103.843  < 2e-16 ***
log(push_hdb_sf_count)     3.981e-01  4.899e-04   812.648  < 2e-16 ***
log(push_est_pop)         -1.942e-02  1.976e-04   -98.262  < 2e-16 ***
log(distance)             -1.260e+00  2.167e-04 -5814.120  < 2e-16 ***
destination_hex1003        1.793e+00  1.559e-02   114.997  < 2e-16 ***
destination_hex1004        8.564e-01  1.595e-02    53.680  < 2e-16 ***
destination_hex1011       -4.632e-02  1.931e-02    -2.398 0.016479 *  
destination_hex1012        1.545e+00  1.634e-02    94.547  < 2e-16 ***
destination_hex1013        1.337e-01  1.700e-02     7.864 3.71e-15 ***
destination_hex1014       -1.525e+00  2.192e-02   -69.565  < 2e-16 ***
destination_hex1015        1.265e+00  1.583e-02    79.926  < 2e-16 ***
destination_hex1016        1.288e+00  1.572e-02    81.897  < 2e-16 ***
destination_hex1018       -2.001e-01  1.940e-02   -10.311  < 2e-16 ***
destination_hex1019        3.078e-01  1.630e-02    18.883  < 2e-16 ***
destination_hex1023       -7.778e-01  2.001e-02   -38.864  < 2e-16 ***
destination_hex1024        4.129e-01  1.653e-02    24.979  < 2e-16 ***
destination_hex1025       -3.483e+00  6.635e-02   -52.493  < 2e-16 ***
destination_hex1033        4.810e-01  1.665e-02    28.888  < 2e-16 ***
destination_hex1034        1.102e+00  1.591e-02    69.243  < 2e-16 ***
destination_hex1035        8.820e-01  1.598e-02    55.211  < 2e-16 ***
destination_hex1036        1.391e+00  1.574e-02    88.358  < 2e-16 ***
destination_hex1037        1.597e-01  1.640e-02     9.736  < 2e-16 ***
destination_hex1043        5.198e-01  1.867e-02    27.844  < 2e-16 ***
destination_hex1045        2.426e-01  1.631e-02    14.877  < 2e-16 ***
destination_hex1046        8.477e-01  1.627e-02    52.116  < 2e-16 ***
destination_hex1053        1.019e+00  1.597e-02    63.824  < 2e-16 ***
destination_hex1054        7.985e-01  1.603e-02    49.800  < 2e-16 ***
destination_hex1055       -1.017e-01  1.721e-02    -5.911 3.40e-09 ***
destination_hex1056       -7.566e-01  1.875e-02   -40.358  < 2e-16 ***
destination_hex1064       -2.833e+00  8.838e-02   -32.055  < 2e-16 ***
destination_hex1066        1.362e+00  1.575e-02    86.486  < 2e-16 ***
destination_hex1067        1.239e+00  1.652e-02    74.995  < 2e-16 ***
destination_hex1074       -1.023e+00  2.034e-02   -50.310  < 2e-16 ***
destination_hex1075        6.905e-01  1.639e-02    42.142  < 2e-16 ***
destination_hex1076       -5.417e-02  1.665e-02    -3.252 0.001145 ** 
destination_hex1077       -6.685e-01  1.831e-02   -36.506  < 2e-16 ***
destination_hex1079        4.121e-01  1.632e-02    25.251  < 2e-16 ***
destination_hex1085       -1.191e+00  5.822e-02   -20.461  < 2e-16 ***
destination_hex1087        2.267e-01  1.638e-02    13.839  < 2e-16 ***
destination_hex1088        1.061e+00  1.617e-02    65.620  < 2e-16 ***
destination_hex109         3.783e-01  2.959e-02    12.784  < 2e-16 ***
destination_hex1094       -3.410e+00  5.050e-02   -67.529  < 2e-16 ***
destination_hex1095        7.695e-02  2.024e-02     3.802 0.000144 ***
destination_hex1096       -6.393e-02  2.118e-02    -3.018 0.002541 ** 
destination_hex1097        6.845e-01  1.583e-02    43.245  < 2e-16 ***
destination_hex1098       -1.614e+00  2.641e-02   -61.130  < 2e-16 ***
destination_hex1099       -1.727e-01  1.706e-02   -10.119  < 2e-16 ***
destination_hex110        -2.178e+00  1.017e-01   -21.427  < 2e-16 ***
destination_hex1105        1.587e+00  1.753e-02    90.536  < 2e-16 ***
destination_hex1106       -3.025e+00  8.620e-02   -35.097  < 2e-16 ***
destination_hex1107        2.197e-02  1.692e-02     1.299 0.194102    
destination_hex1108        2.436e+00  1.542e-02   158.018  < 2e-16 ***
destination_hex1109       -1.071e+00  2.583e-02   -41.469  < 2e-16 ***
destination_hex111         1.353e+00  1.894e-02    71.463  < 2e-16 ***
destination_hex1116       -7.371e-02  1.749e-02    -4.215 2.50e-05 ***
destination_hex1117        2.623e-01  1.671e-02    15.694  < 2e-16 ***
destination_hex1118       -1.650e+00  2.324e-02   -70.972  < 2e-16 ***
destination_hex1119       -7.977e-01  1.834e-02   -43.487  < 2e-16 ***
destination_hex112        -1.093e+00  3.367e-02   -32.451  < 2e-16 ***
destination_hex1120       -1.147e+00  2.251e-02   -50.945  < 2e-16 ***
destination_hex1129       -1.444e-01  1.708e-02    -8.452  < 2e-16 ***
destination_hex1130        4.877e-01  1.621e-02    30.088  < 2e-16 ***
destination_hex1131        1.796e+00  1.607e-02   111.753  < 2e-16 ***
destination_hex1136        1.076e+00  1.596e-02    67.403  < 2e-16 ***
destination_hex1138       -1.131e+00  2.253e-02   -50.185  < 2e-16 ***
destination_hex1139       -3.823e-01  1.673e-02   -22.856  < 2e-16 ***
destination_hex1141       -2.098e-01  1.703e-02   -12.321  < 2e-16 ***
destination_hex1148       -9.444e-01  3.293e-02   -28.680  < 2e-16 ***
destination_hex1149       -3.512e-01  2.010e-02   -17.473  < 2e-16 ***
destination_hex1150       -8.064e-02  1.661e-02    -4.856 1.20e-06 ***
destination_hex1151       -2.488e-01  1.654e-02   -15.041  < 2e-16 ***
destination_hex1158       -1.247e+00  1.844e-02   -67.649  < 2e-16 ***
destination_hex1159       -8.397e-01  1.756e-02   -47.812  < 2e-16 ***
destination_hex1160        8.363e-01  1.581e-02    52.905  < 2e-16 ***
destination_hex1171        3.593e-01  1.629e-02    22.050  < 2e-16 ***
destination_hex1172        1.791e+00  1.554e-02   115.261  < 2e-16 ***
destination_hex1173        1.215e+00  1.604e-02    75.781  < 2e-16 ***
destination_hex1174       -1.776e+00  4.413e-02   -40.245  < 2e-16 ***
destination_hex1178        1.191e+00  1.568e-02    75.930  < 2e-16 ***
destination_hex1179        2.404e-01  1.609e-02    14.939  < 2e-16 ***
destination_hex1180        3.041e-01  1.601e-02    18.991  < 2e-16 ***
destination_hex1181       -6.737e-01  1.763e-02   -38.218  < 2e-16 ***
destination_hex1183        9.048e-01  1.598e-02    56.629  < 2e-16 ***
destination_hex1190       -9.883e-01  3.245e-02   -30.456  < 2e-16 ***
destination_hex1192        8.286e-01  1.613e-02    51.385  < 2e-16 ***
destination_hex1193        5.137e-01  1.614e-02    31.828  < 2e-16 ***
destination_hex1194        8.413e-01  1.637e-02    51.402  < 2e-16 ***
destination_hex1200        1.808e-05  1.674e-02     0.001 0.999138    
destination_hex1201       -2.918e-01  1.688e-02   -17.290  < 2e-16 ***
destination_hex1203       -2.667e-01  1.716e-02   -15.540  < 2e-16 ***
destination_hex1204       -3.597e-01  1.755e-02   -20.497  < 2e-16 ***
destination_hex1211       -4.598e+00  2.778e-01   -16.552  < 2e-16 ***
destination_hex1214       -4.827e-01  1.741e-02   -27.728  < 2e-16 ***
destination_hex1215        1.826e-01  1.872e-02     9.753  < 2e-16 ***
destination_hex1216        5.011e-01  1.819e-02    27.546  < 2e-16 ***
destination_hex1220        3.290e-01  1.639e-02    20.075  < 2e-16 ***
destination_hex1221        5.825e-01  1.581e-02    36.850  < 2e-16 ***
destination_hex1222       -6.829e-01  1.953e-02   -34.960  < 2e-16 ***
destination_hex1223       -8.207e-01  1.881e-02   -43.642  < 2e-16 ***
destination_hex1224       -1.766e-01  1.713e-02   -10.309  < 2e-16 ***
destination_hex1231       -1.737e+00  5.919e-02   -29.349  < 2e-16 ***
destination_hex1232       -3.030e-01  2.876e-02   -10.534  < 2e-16 ***
destination_hex1235        4.485e-01  1.633e-02    27.464  < 2e-16 ***
destination_hex1236        2.133e-01  1.728e-02    12.344  < 2e-16 ***
destination_hex1241       -1.058e+00  1.910e-02   -55.407  < 2e-16 ***
destination_hex1242       -8.474e-01  1.763e-02   -48.071  < 2e-16 ***
destination_hex1243        3.250e-01  1.608e-02    20.206  < 2e-16 ***
destination_hex1246       -5.109e-01  1.741e-02   -29.349  < 2e-16 ***
destination_hex1256       -8.164e-01  1.843e-02   -44.303  < 2e-16 ***
destination_hex1257        6.234e-01  1.642e-02    37.965  < 2e-16 ***
destination_hex1258        1.196e+00  1.611e-02    74.243  < 2e-16 ***
destination_hex1262       -1.117e+00  1.970e-02   -56.711  < 2e-16 ***
destination_hex1263        8.512e-01  1.566e-02    54.343  < 2e-16 ***
destination_hex1264        1.069e-01  1.692e-02     6.321 2.60e-10 ***
destination_hex1265        2.483e-02  1.707e-02     1.455 0.145730    
destination_hex1266        2.624e-01  1.666e-02    15.750  < 2e-16 ***
destination_hex1267       -1.298e+00  2.218e-02   -58.532  < 2e-16 ***
destination_hex1272       -4.103e+00  1.122e-01   -36.583  < 2e-16 ***
destination_hex1273        5.160e-01  1.682e-02    30.671  < 2e-16 ***
destination_hex1277        6.034e-01  1.588e-02    37.997  < 2e-16 ***
destination_hex1278        3.472e-01  1.642e-02    21.147  < 2e-16 ***
destination_hex128         7.165e-01  2.680e-02    26.739  < 2e-16 ***
destination_hex1283        1.427e+00  1.565e-02    91.190  < 2e-16 ***
destination_hex1284        8.501e-01  1.574e-02    53.993  < 2e-16 ***
destination_hex1285        4.384e-01  1.591e-02    27.555  < 2e-16 ***
destination_hex1286       -4.630e-01  1.804e-02   -25.665  < 2e-16 ***
destination_hex1289       -2.761e+00  4.249e-02   -64.992  < 2e-16 ***
destination_hex129        -2.283e+00  1.136e-01   -20.110  < 2e-16 ***
destination_hex1293       -3.778e+00  7.590e-02   -49.772  < 2e-16 ***
destination_hex1294        2.472e-01  1.746e-02    14.159  < 2e-16 ***
destination_hex1295       -1.884e+00  2.694e-02   -69.923  < 2e-16 ***
destination_hex1298       -1.194e-01  1.650e-02    -7.237 4.60e-13 ***
destination_hex1299       -4.405e-01  1.759e-02   -25.041  < 2e-16 ***
destination_hex130         2.482e-01  2.661e-02     9.329  < 2e-16 ***
destination_hex1304        2.449e-01  1.633e-02    14.992  < 2e-16 ***
destination_hex1305        3.816e-01  1.584e-02    24.081  < 2e-16 ***
destination_hex1307       -1.179e+00  2.450e-02   -48.132  < 2e-16 ***
destination_hex1308        3.049e-01  1.620e-02    18.823  < 2e-16 ***
destination_hex131        -2.545e-01  2.875e-02    -8.853  < 2e-16 ***
destination_hex1310       -4.862e+00  1.896e-01   -25.642  < 2e-16 ***
destination_hex1316       -1.443e+00  2.196e-02   -65.718  < 2e-16 ***
destination_hex1317       -1.590e+00  2.010e-02   -79.108  < 2e-16 ***
destination_hex1318       -1.607e+00  2.192e-02   -73.340  < 2e-16 ***
destination_hex1319        1.206e+00  1.566e-02    77.001  < 2e-16 ***
destination_hex132         7.925e-01  2.123e-02    37.335  < 2e-16 ***
destination_hex1320       -9.971e-01  2.030e-02   -49.110  < 2e-16 ***
destination_hex1324        3.387e-01  2.175e-02    15.573  < 2e-16 ***
destination_hex1325       -1.341e+00  2.079e-02   -64.502  < 2e-16 ***
destination_hex1326       -2.065e-02  1.623e-02    -1.272 0.203225    
destination_hex1327        2.162e-01  1.612e-02    13.410  < 2e-16 ***
destination_hex1328        1.058e-01  1.655e-02     6.393 1.63e-10 ***
destination_hex1329        1.336e-01  1.749e-02     7.640 2.18e-14 ***
destination_hex133         3.071e-01  1.961e-02    15.660  < 2e-16 ***
destination_hex1330        1.382e+00  1.611e-02    85.800  < 2e-16 ***
destination_hex1331       -5.078e+00  2.587e-01   -19.634  < 2e-16 ***
destination_hex1333       -1.663e+00  2.224e-02   -74.773  < 2e-16 ***
destination_hex1334       -1.032e+00  2.007e-02   -51.431  < 2e-16 ***
destination_hex1335        9.888e-01  1.623e-02    60.941  < 2e-16 ***
destination_hex1336       -2.871e+00  5.788e-02   -49.603  < 2e-16 ***
destination_hex1337       -2.588e+00  3.307e-02   -78.266  < 2e-16 ***
destination_hex1338       -2.478e+00  3.067e-02   -80.788  < 2e-16 ***
destination_hex1339        1.025e+00  1.573e-02    65.147  < 2e-16 ***
destination_hex134         4.467e-02  1.919e-02     2.328 0.019908 *  
destination_hex1340       -4.382e-01  1.777e-02   -24.661  < 2e-16 ***
destination_hex1341       -3.768e+00  9.744e-02   -38.670  < 2e-16 ***
destination_hex1346        1.925e-01  1.683e-02    11.436  < 2e-16 ***
destination_hex1347        1.114e+00  1.570e-02    70.984  < 2e-16 ***
destination_hex1348       -1.918e-01  1.656e-02   -11.586  < 2e-16 ***
destination_hex1349        7.798e-01  1.614e-02    48.315  < 2e-16 ***
destination_hex1350       -3.331e-01  1.972e-02   -16.893  < 2e-16 ***
destination_hex1353       -2.409e-01  1.670e-02   -14.430  < 2e-16 ***
destination_hex1354       -1.107e+00  1.937e-02   -57.177  < 2e-16 ***
destination_hex1355       -8.111e-01  1.883e-02   -43.078  < 2e-16 ***
destination_hex1357       -1.393e+00  2.405e-02   -57.932  < 2e-16 ***
destination_hex1358        1.025e+00  1.574e-02    65.147  < 2e-16 ***
destination_hex1359       -8.030e-02  1.662e-02    -4.832 1.35e-06 ***
destination_hex1360       -4.203e-01  1.693e-02   -24.824  < 2e-16 ***
destination_hex1361       -3.636e-01  1.756e-02   -20.712  < 2e-16 ***
destination_hex1362       -1.897e+00  3.278e-02   -57.875  < 2e-16 ***
destination_hex1368       -7.603e-01  1.766e-02   -43.057  < 2e-16 ***
destination_hex1369       -7.366e-01  1.747e-02   -42.173  < 2e-16 ***
destination_hex1370        9.789e-01  1.571e-02    62.316  < 2e-16 ***
destination_hex1371        9.192e-02  1.706e-02     5.390 7.05e-08 ***
destination_hex1372        5.837e-02  1.679e-02     3.478 0.000506 ***
destination_hex1373       -3.007e+00  3.646e-02   -82.457  < 2e-16 ***
destination_hex1374       -1.652e+00  2.289e-02   -72.177  < 2e-16 ***
destination_hex1375        3.151e-01  1.691e-02    18.633  < 2e-16 ***
destination_hex1376       -1.355e+00  2.273e-02   -59.612  < 2e-16 ***
destination_hex1379       -3.688e+00  6.508e-02   -56.665  < 2e-16 ***
destination_hex1380        1.795e+00  1.551e-02   115.728  < 2e-16 ***
destination_hex1381        2.084e+00  1.546e-02   134.792  < 2e-16 ***
destination_hex1382        1.215e+00  1.589e-02    76.461  < 2e-16 ***
destination_hex1383       -1.592e+00  2.467e-02   -64.527  < 2e-16 ***
destination_hex1388       -3.060e-02  1.653e-02    -1.852 0.064064 .  
destination_hex1389       -4.184e-01  1.687e-02   -24.798  < 2e-16 ***
destination_hex1390       -6.886e-02  1.661e-02    -4.146 3.38e-05 ***
destination_hex1391        7.996e-01  1.604e-02    49.854  < 2e-16 ***
destination_hex1392        6.538e-01  1.962e-02    33.330  < 2e-16 ***
destination_hex1393       -7.398e-01  1.750e-02   -42.268  < 2e-16 ***
destination_hex1394       -2.716e-01  1.650e-02   -16.466  < 2e-16 ***
destination_hex1395       -4.029e-01  1.680e-02   -23.982  < 2e-16 ***
destination_hex1396        5.410e-01  1.614e-02    33.518  < 2e-16 ***
destination_hex1397       -8.059e-01  1.705e-02   -47.277  < 2e-16 ***
destination_hex1398       -9.055e-01  2.061e-02   -43.935  < 2e-16 ***
destination_hex1400       -9.538e-01  1.886e-02   -50.570  < 2e-16 ***
destination_hex1401        9.428e-01  1.564e-02    60.298  < 2e-16 ***
destination_hex1402        2.715e-01  1.619e-02    16.765  < 2e-16 ***
destination_hex1404       -3.211e-01  2.661e-02   -12.064  < 2e-16 ***
destination_hex1410        8.243e-01  1.576e-02    52.307  < 2e-16 ***
destination_hex1411       -1.360e-01  1.673e-02    -8.133 4.18e-16 ***
destination_hex1412        7.379e-01  1.582e-02    46.631  < 2e-16 ***
destination_hex1413        3.905e-01  1.619e-02    24.112  < 2e-16 ***
destination_hex1414       -2.458e-01  1.635e-02   -15.035  < 2e-16 ***
destination_hex1415        2.129e-01  1.619e-02    13.148  < 2e-16 ***
destination_hex1416       -4.761e-01  1.707e-02   -27.897  < 2e-16 ***
destination_hex1417       -8.541e-02  1.629e-02    -5.243 1.58e-07 ***
destination_hex1418        2.283e-02  1.627e-02     1.403 0.160579    
destination_hex1419       -4.680e-01  1.710e-02   -27.364  < 2e-16 ***
destination_hex1422        1.115e-01  1.645e-02     6.779 1.21e-11 ***
destination_hex1423        6.753e-01  1.610e-02    41.946  < 2e-16 ***
destination_hex1430        4.356e-01  1.605e-02    27.136  < 2e-16 ***
destination_hex1431        1.035e+00  1.571e-02    65.887  < 2e-16 ***
destination_hex1432        6.232e-01  1.583e-02    39.375  < 2e-16 ***
destination_hex1433        6.139e-02  1.781e-02     3.447 0.000567 ***
destination_hex1434        7.111e-01  1.581e-02    44.989  < 2e-16 ***
destination_hex1435        2.650e-01  1.598e-02    16.585  < 2e-16 ***
destination_hex1436       -8.254e-01  1.860e-02   -44.381  < 2e-16 ***
destination_hex1437       -2.830e-01  1.654e-02   -17.112  < 2e-16 ***
destination_hex1438        3.620e-01  1.585e-02    22.837  < 2e-16 ***
destination_hex1439        1.131e+00  1.566e-02    72.196  < 2e-16 ***
destination_hex1440        4.837e-01  1.643e-02    29.435  < 2e-16 ***
destination_hex1442       -1.685e+00  2.246e-02   -75.016  < 2e-16 ***
destination_hex1443        1.149e-01  1.633e-02     7.037 1.97e-12 ***
destination_hex1444        1.064e+00  1.634e-02    65.132  < 2e-16 ***
destination_hex1452        1.008e+00  1.562e-02    64.504  < 2e-16 ***
destination_hex1453        4.710e-01  1.606e-02    29.322  < 2e-16 ***
destination_hex1454       -6.891e-01  1.889e-02   -36.486  < 2e-16 ***
destination_hex1455       -3.585e-02  1.678e-02    -2.136 0.032673 *  
destination_hex1456        1.154e-01  1.631e-02     7.076 1.48e-12 ***
destination_hex1457        1.059e+00  1.590e-02    66.625  < 2e-16 ***
destination_hex1458        1.691e+00  1.549e-02   109.192  < 2e-16 ***
destination_hex1459       -8.555e-01  1.727e-02   -49.536  < 2e-16 ***
destination_hex1460        4.406e-01  1.588e-02    27.753  < 2e-16 ***
destination_hex1461        2.572e-01  1.659e-02    15.499  < 2e-16 ***
destination_hex1464       -3.895e-01  1.680e-02   -23.190  < 2e-16 ***
destination_hex1465       -6.100e-01  1.848e-02   -33.016  < 2e-16 ***
destination_hex1472        2.412e-02  1.682e-02     1.433 0.151772    
destination_hex1473        1.029e+00  1.572e-02    65.483  < 2e-16 ***
destination_hex1474        7.887e-01  1.566e-02    50.354  < 2e-16 ***
destination_hex1475        7.396e-01  1.582e-02    46.736  < 2e-16 ***
destination_hex1476       -3.581e-01  1.681e-02   -21.301  < 2e-16 ***
destination_hex1477        1.599e+00  1.547e-02   103.369  < 2e-16 ***
destination_hex1478        3.561e-02  1.615e-02     2.205 0.027427 *  
destination_hex1479       -7.076e-01  1.697e-02   -41.689  < 2e-16 ***
destination_hex1480        1.605e+00  1.548e-02   103.627  < 2e-16 ***
destination_hex1481        1.540e-01  1.634e-02     9.425  < 2e-16 ***
destination_hex1482        1.059e+00  1.600e-02    66.182  < 2e-16 ***
destination_hex1485       -1.035e+00  1.966e-02   -52.644  < 2e-16 ***
destination_hex1494        6.830e-01  1.586e-02    43.054  < 2e-16 ***
destination_hex1495       -5.877e-02  1.636e-02    -3.591 0.000329 ***
destination_hex1496        4.609e-01  1.568e-02    29.393  < 2e-16 ***
destination_hex1497       -2.518e-01  1.688e-02   -14.920  < 2e-16 ***
destination_hex1498       -1.203e-01  1.644e-02    -7.317 2.54e-13 ***
destination_hex1499        2.078e-01  1.591e-02    13.056  < 2e-16 ***
destination_hex150         3.526e-01  2.932e-02    12.026  < 2e-16 ***
destination_hex1500       -2.752e-01  1.739e-02   -15.823  < 2e-16 ***
destination_hex1501        6.445e-01  1.577e-02    40.875  < 2e-16 ***
destination_hex1502        5.512e-01  1.586e-02    34.753  < 2e-16 ***
destination_hex1506       -5.895e+00  6.484e-02   -90.922  < 2e-16 ***
destination_hex151         1.969e-01  2.609e-02     7.549 4.38e-14 ***
destination_hex1515       -5.665e-01  2.050e-02   -27.638  < 2e-16 ***
destination_hex1516        3.663e-01  1.567e-02    23.371  < 2e-16 ***
destination_hex1517        5.723e-03  1.655e-02     0.346 0.729500    
destination_hex1518       -5.958e-01  1.713e-02   -34.788  < 2e-16 ***
destination_hex1519       -3.320e-01  1.718e-02   -19.323  < 2e-16 ***
destination_hex152         1.780e+00  2.031e-02    87.647  < 2e-16 ***
destination_hex1520       -4.539e-01  1.670e-02   -27.180  < 2e-16 ***
destination_hex1521       -4.267e-01  1.695e-02   -25.168  < 2e-16 ***
destination_hex1522        3.832e-01  1.600e-02    23.949  < 2e-16 ***
destination_hex1523        1.316e+00  1.586e-02    82.993  < 2e-16 ***
destination_hex1524       -6.775e-01  1.909e-02   -35.486  < 2e-16 ***
destination_hex1527       -2.624e+00  3.236e-02   -81.089  < 2e-16 ***
destination_hex153         3.493e-01  1.978e-02    17.659  < 2e-16 ***
destination_hex1535       -1.150e+00  5.261e-02   -21.854  < 2e-16 ***
destination_hex1536       -1.271e+00  2.646e-02   -48.052  < 2e-16 ***
destination_hex1537        2.016e-01  1.633e-02    12.340  < 2e-16 ***
destination_hex1538        1.818e-01  1.608e-02    11.304  < 2e-16 ***
destination_hex1539        3.010e-01  1.591e-02    18.911  < 2e-16 ***
destination_hex154        -9.531e-01  3.063e-02   -31.118  < 2e-16 ***
destination_hex1540       -3.304e-01  1.641e-02   -20.134  < 2e-16 ***
destination_hex1541       -8.847e-02  1.673e-02    -5.288 1.24e-07 ***
destination_hex1542       -5.595e-01  1.796e-02   -31.155  < 2e-16 ***
destination_hex1543       -6.523e-01  2.972e-02   -21.945  < 2e-16 ***
destination_hex1544       -6.835e-01  1.766e-02   -38.705  < 2e-16 ***
destination_hex1547       -6.849e-01  2.123e-02   -32.257  < 2e-16 ***
destination_hex155        -2.559e-01  2.294e-02   -11.157  < 2e-16 ***
destination_hex1556       -1.861e+00  6.089e-02   -30.564  < 2e-16 ***
destination_hex1557       -1.001e+00  2.190e-02   -45.702  < 2e-16 ***
destination_hex1558        4.321e-01  1.960e-02    22.053  < 2e-16 ***
destination_hex1559        7.442e-01  1.574e-02    47.268  < 2e-16 ***
destination_hex156         3.089e-01  2.394e-02    12.901  < 2e-16 ***
destination_hex1560        8.169e-01  1.572e-02    51.968  < 2e-16 ***
destination_hex1561        1.660e-02  1.652e-02     1.005 0.315016    
destination_hex1562       -2.123e+00  2.259e-02   -93.950  < 2e-16 ***
destination_hex1563       -1.030e+00  1.774e-02   -58.083  < 2e-16 ***
destination_hex1564       -4.310e-01  1.727e-02   -24.954  < 2e-16 ***
destination_hex1565        9.250e-02  1.644e-02     5.625 1.86e-08 ***
destination_hex1566       -1.553e+00  2.232e-02   -69.559  < 2e-16 ***
destination_hex1567       -1.070e+00  2.303e-02   -46.437  < 2e-16 ***
destination_hex1568       -3.594e-01  1.941e-02   -18.519  < 2e-16 ***
destination_hex1578       -2.016e+00  1.002e-01   -20.124  < 2e-16 ***
destination_hex1580       -2.204e+00  2.814e-02   -78.314  < 2e-16 ***
destination_hex1581        5.030e-01  1.595e-02    31.532  < 2e-16 ***
destination_hex1582        4.717e-01  1.575e-02    29.946  < 2e-16 ***
destination_hex1583       -1.526e+00  2.505e-02   -60.930  < 2e-16 ***
destination_hex1584       -1.087e+00  1.938e-02   -56.103  < 2e-16 ***
destination_hex1585       -6.352e-02  1.698e-02    -3.741 0.000184 ***
destination_hex1586        5.320e-01  1.608e-02    33.092  < 2e-16 ***
destination_hex1589       -1.485e+00  2.643e-02   -56.179  < 2e-16 ***
destination_hex1590       -3.475e-01  2.011e-02   -17.279  < 2e-16 ***
destination_hex1600       -2.108e-01  2.071e-02   -10.176  < 2e-16 ***
destination_hex1601       -7.604e-01  1.681e-02   -45.238  < 2e-16 ***
destination_hex1602        8.902e-02  1.658e-02     5.369 7.93e-08 ***
destination_hex1603        8.863e-01  1.575e-02    56.266  < 2e-16 ***
destination_hex1604       -1.169e+00  1.834e-02   -63.713  < 2e-16 ***
destination_hex1605       -2.505e-01  1.627e-02   -15.401  < 2e-16 ***
destination_hex1606       -3.168e-01  2.015e-02   -15.722  < 2e-16 ***
destination_hex1607        6.891e-01  1.583e-02    43.535  < 2e-16 ***
destination_hex1608        4.849e-02  1.644e-02     2.950 0.003182 ** 
destination_hex1609        4.770e-01  1.606e-02    29.703  < 2e-16 ***
destination_hex1610       -1.365e+00  3.040e-02   -44.904  < 2e-16 ***
destination_hex1622        9.288e-01  1.862e-02    49.883  < 2e-16 ***
destination_hex1623        4.929e-01  1.583e-02    31.131  < 2e-16 ***
destination_hex1624        9.151e-01  1.572e-02    58.213  < 2e-16 ***
destination_hex1625        2.211e-01  1.623e-02    13.619  < 2e-16 ***
destination_hex1626        1.965e+00  1.544e-02   127.236  < 2e-16 ***
destination_hex1627       -9.555e-01  1.757e-02   -54.372  < 2e-16 ***
destination_hex1628        1.256e+00  1.565e-02    80.272  < 2e-16 ***
destination_hex1629       -1.551e+00  2.067e-02   -75.008  < 2e-16 ***
destination_hex1630       -8.771e-01  1.895e-02   -46.284  < 2e-16 ***
destination_hex1631       -1.529e+00  2.416e-02   -63.281  < 2e-16 ***
destination_hex1642       -1.924e+00  3.516e-02   -54.705  < 2e-16 ***
destination_hex1643        4.098e-02  1.630e-02     2.514 0.011924 *  
destination_hex1644        5.616e-02  1.718e-02     3.269 0.001080 ** 
destination_hex1645       -7.722e-02  1.646e-02    -4.693 2.70e-06 ***
destination_hex1646        2.520e-01  1.704e-02    14.785  < 2e-16 ***
destination_hex1647       -4.604e-01  1.639e-02   -28.097  < 2e-16 ***
destination_hex1648       -2.019e-01  1.629e-02   -12.397  < 2e-16 ***
destination_hex1649        5.802e-01  1.581e-02    36.705  < 2e-16 ***
destination_hex1650       -2.015e-01  1.691e-02   -11.915  < 2e-16 ***
destination_hex1664       -3.888e+00  1.173e-01   -33.157  < 2e-16 ***
destination_hex1665        6.905e-01  1.578e-02    43.767  < 2e-16 ***
destination_hex1666        7.269e-01  1.578e-02    46.079  < 2e-16 ***
destination_hex1667       -4.379e-01  2.189e-02   -20.006  < 2e-16 ***
destination_hex1668       -3.052e-01  1.664e-02   -18.340  < 2e-16 ***
destination_hex1670        2.845e-01  1.591e-02    17.884  < 2e-16 ***
destination_hex1671       -2.592e-01  1.843e-02   -14.068  < 2e-16 ***
destination_hex1672       -9.304e-01  1.910e-02   -48.701  < 2e-16 ***
destination_hex1684        2.610e-01  1.785e-02    14.623  < 2e-16 ***
destination_hex1685       -4.604e-01  1.750e-02   -26.305  < 2e-16 ***
destination_hex1686        1.349e-01  1.627e-02     8.294  < 2e-16 ***
destination_hex1687        4.259e-01  1.664e-02    25.587  < 2e-16 ***
destination_hex1688       -2.666e-01  1.663e-02   -16.030  < 2e-16 ***
destination_hex1689       -9.312e-01  1.801e-02   -51.707  < 2e-16 ***
destination_hex1690       -1.546e+00  1.971e-02   -78.434  < 2e-16 ***
destination_hex1691        4.697e-01  1.587e-02    29.597  < 2e-16 ***
destination_hex1692       -1.403e+00  2.034e-02   -69.005  < 2e-16 ***
destination_hex1706        1.063e-01  1.701e-02     6.250 4.11e-10 ***
destination_hex1707       -7.939e-01  1.721e-02   -46.123  < 2e-16 ***
destination_hex1708       -1.309e-01  1.644e-02    -7.962 1.70e-15 ***
destination_hex1709        5.339e-01  1.593e-02    33.513  < 2e-16 ***
destination_hex1710        4.594e-01  1.606e-02    28.611  < 2e-16 ***
destination_hex1711        1.146e+00  1.564e-02    73.288  < 2e-16 ***
destination_hex1712        2.995e-01  1.584e-02    18.907  < 2e-16 ***
destination_hex1713       -1.983e+00  2.146e-02   -92.429  < 2e-16 ***
destination_hex1714       -5.144e-01  1.723e-02   -29.855  < 2e-16 ***
destination_hex172        -1.493e+00  4.682e-02   -31.879  < 2e-16 ***
destination_hex1727        6.123e-01  1.616e-02    37.893  < 2e-16 ***
destination_hex1728        5.002e-01  1.589e-02    31.473  < 2e-16 ***
destination_hex1729        5.959e-01  1.582e-02    37.665  < 2e-16 ***
destination_hex1730       -5.315e-01  1.751e-02   -30.360  < 2e-16 ***
destination_hex1731        2.908e-01  1.608e-02    18.088  < 2e-16 ***
destination_hex1732        1.411e-01  1.592e-02     8.860  < 2e-16 ***
destination_hex1733       -9.192e-01  1.720e-02   -53.444  < 2e-16 ***
destination_hex1734        3.531e-02  1.597e-02     2.211 0.027002 *  
destination_hex1735       -8.040e-01  2.052e-02   -39.189  < 2e-16 ***
destination_hex174         9.761e-02  2.095e-02     4.660 3.16e-06 ***
destination_hex1748       -4.244e-01  1.755e-02   -24.182  < 2e-16 ***
destination_hex1749        7.103e-01  1.576e-02    45.087  < 2e-16 ***
destination_hex175         3.350e-02  1.843e-02     1.818 0.069123 .  
destination_hex1750        5.048e-01  1.583e-02    31.892  < 2e-16 ***
destination_hex1751        1.785e-01  1.643e-02    10.867  < 2e-16 ***
destination_hex1753        4.034e-01  1.589e-02    25.389  < 2e-16 ***
destination_hex1754        1.574e+00  1.548e-02   101.652  < 2e-16 ***
destination_hex1755        8.523e-01  1.565e-02    54.473  < 2e-16 ***
destination_hex1756       -2.396e-01  1.620e-02   -14.794  < 2e-16 ***
destination_hex1757       -2.169e+00  2.653e-02   -81.745  < 2e-16 ***
destination_hex176        -1.215e+00  3.085e-02   -39.385  < 2e-16 ***
destination_hex1769        7.377e-02  1.652e-02     4.467 7.95e-06 ***
destination_hex1770       -4.433e-02  1.694e-02    -2.617 0.008863 ** 
destination_hex1771        5.766e-01  1.601e-02    36.026  < 2e-16 ***
destination_hex1772        1.674e+00  1.668e-02   100.398  < 2e-16 ***
destination_hex1774       -2.974e-01  1.672e-02   -17.787  < 2e-16 ***
destination_hex1775       -8.812e-01  1.715e-02   -51.388  < 2e-16 ***
destination_hex1776        1.416e+00  1.549e-02    91.410  < 2e-16 ***
destination_hex1777       -2.954e-01  1.669e-02   -17.696  < 2e-16 ***
destination_hex1778       -1.061e+00  2.082e-02   -50.955  < 2e-16 ***
destination_hex1790        8.062e-01  1.601e-02    50.338  < 2e-16 ***
destination_hex1791        1.502e-01  1.629e-02     9.222  < 2e-16 ***
destination_hex1792        2.912e-01  1.674e-02    17.396  < 2e-16 ***
destination_hex1793        2.318e-01  1.624e-02    14.268  < 2e-16 ***
destination_hex1794        1.778e+00  1.685e-02   105.540  < 2e-16 ***
destination_hex1795       -2.015e+00  2.628e-02   -76.655  < 2e-16 ***
destination_hex1796        1.048e-01  1.616e-02     6.484 8.93e-11 ***
destination_hex1797       -8.561e-02  1.618e-02    -5.291 1.22e-07 ***
destination_hex1798        8.551e-02  1.608e-02     5.317 1.06e-07 ***
destination_hex1799       -1.071e+00  1.824e-02   -58.738  < 2e-16 ***
destination_hex1800       -2.149e+00  5.242e-02   -41.001  < 2e-16 ***
destination_hex1811        4.999e-02  1.695e-02     2.950 0.003181 ** 
destination_hex1812        1.127e+00  1.562e-02    72.155  < 2e-16 ***
destination_hex1813        1.206e+00  1.560e-02    77.317  < 2e-16 ***
destination_hex1817       -1.398e+00  1.925e-02   -72.615  < 2e-16 ***
destination_hex1818       -2.960e-01  1.638e-02   -18.075  < 2e-16 ***
destination_hex1819        1.593e+00  1.550e-02   102.795  < 2e-16 ***
destination_hex1820       -3.005e+00  4.378e-02   -68.652  < 2e-16 ***
destination_hex1832        1.240e+00  1.579e-02    78.530  < 2e-16 ***
destination_hex1833       -1.113e-01  1.671e-02    -6.665 2.65e-11 ***
destination_hex1834       -4.111e-01  1.664e-02   -24.709  < 2e-16 ***
destination_hex1835       -2.359e-01  1.694e-02   -13.925  < 2e-16 ***
destination_hex1837       -1.834e-01  2.049e-02    -8.954  < 2e-16 ***
destination_hex1839       -1.179e+00  1.905e-02   -61.918  < 2e-16 ***
destination_hex1840        1.241e+00  1.557e-02    79.754  < 2e-16 ***
destination_hex1841       -1.680e+00  2.692e-02   -62.414  < 2e-16 ***
destination_hex1842       -5.341e-01  2.093e-02   -25.513  < 2e-16 ***
destination_hex1853        1.950e-01  1.630e-02    11.958  < 2e-16 ***
destination_hex1854        5.748e-01  1.604e-02    35.848  < 2e-16 ***
destination_hex1855        6.549e-01  1.590e-02    41.194  < 2e-16 ***
destination_hex1858        6.598e-01  1.742e-02    37.866  < 2e-16 ***
destination_hex1860       -3.830e-01  2.346e-02   -16.323  < 2e-16 ***
destination_hex1861       -2.003e-01  1.646e-02   -12.167  < 2e-16 ***
destination_hex1874        7.317e-02  1.782e-02     4.106 4.03e-05 ***
destination_hex1875       -1.792e+00  2.485e-02   -72.096  < 2e-16 ***
destination_hex1876       -3.698e-01  2.642e-02   -13.998  < 2e-16 ***
destination_hex1877        3.811e-01  1.600e-02    23.818  < 2e-16 ***
destination_hex1880       -1.830e-01  2.064e-02    -8.865  < 2e-16 ***
destination_hex1882        2.529e-02  1.647e-02     1.536 0.124527    
destination_hex1883       -1.270e+00  2.441e-02   -52.019  < 2e-16 ***
destination_hex1895        4.840e-01  1.619e-02    29.899  < 2e-16 ***
destination_hex1896       -3.229e-01  1.709e-02   -18.891  < 2e-16 ***
destination_hex1897       -1.195e+00  1.916e-02   -62.388  < 2e-16 ***
destination_hex1898       -1.301e+00  2.823e-02   -46.073  < 2e-16 ***
destination_hex1901       -6.706e-01  2.586e-02   -25.930  < 2e-16 ***
destination_hex1903       -1.546e+00  2.276e-02   -67.949  < 2e-16 ***
destination_hex1917       -3.682e-01  1.755e-02   -20.978  < 2e-16 ***
destination_hex1918        1.107e+00  1.643e-02    67.348  < 2e-16 ***
destination_hex1919        7.277e-01  1.591e-02    45.743  < 2e-16 ***
destination_hex1922        3.899e-01  1.831e-02    21.296  < 2e-16 ***
destination_hex1924       -2.182e+00  2.405e-02   -90.702  < 2e-16 ***
destination_hex1937       -4.594e-02  1.702e-02    -2.700 0.006942 ** 
destination_hex1938        7.442e-01  1.587e-02    46.886  < 2e-16 ***
destination_hex1939       -2.376e-01  1.722e-02   -13.798  < 2e-16 ***
destination_hex1942       -9.871e-01  2.507e-02   -39.367  < 2e-16 ***
destination_hex195        -5.480e-01  3.345e-02   -16.384  < 2e-16 ***
destination_hex1959       -3.181e-01  1.777e-02   -17.903  < 2e-16 ***
destination_hex196         7.533e-01  1.827e-02    41.236  < 2e-16 ***
destination_hex1960        1.947e+00  1.545e-02   126.020  < 2e-16 ***
destination_hex1961       -7.470e-01  1.820e-02   -41.033  < 2e-16 ***
destination_hex1962       -6.647e-02  1.643e-02    -4.047 5.20e-05 ***
destination_hex1964        9.388e-01  1.888e-02    49.729  < 2e-16 ***
destination_hex197        -1.691e+00  8.774e-02   -19.276  < 2e-16 ***
destination_hex1979       -6.202e-02  1.742e-02    -3.560 0.000370 ***
destination_hex1980       -1.541e-01  1.661e-02    -9.280  < 2e-16 ***
destination_hex1981       -2.495e-01  1.686e-02   -14.794  < 2e-16 ***
destination_hex1982        3.123e-01  1.680e-02    18.588  < 2e-16 ***
destination_hex1983        7.012e-03  1.642e-02     0.427 0.669385    
destination_hex1984        1.642e-01  1.647e-02     9.970  < 2e-16 ***
destination_hex1985        2.635e-01  1.625e-02    16.211  < 2e-16 ***
destination_hex2001        5.083e-02  1.659e-02     3.064 0.002184 ** 
destination_hex2002        2.328e-01  1.603e-02    14.527  < 2e-16 ***
destination_hex2003        6.943e-01  1.584e-02    43.828  < 2e-16 ***
destination_hex2004        9.380e-01  1.580e-02    59.368  < 2e-16 ***
destination_hex2005        6.748e-02  1.648e-02     4.094 4.23e-05 ***
destination_hex2006        1.165e+00  1.589e-02    73.317  < 2e-16 ***
destination_hex2007       -2.763e+00  3.191e-02   -86.594  < 2e-16 ***
destination_hex2022        7.133e-01  1.650e-02    43.245  < 2e-16 ***
destination_hex2023        4.884e-01  1.595e-02    30.622  < 2e-16 ***
destination_hex2024        8.880e-01  1.574e-02    56.435  < 2e-16 ***
destination_hex2025       -2.511e-01  1.655e-02   -15.175  < 2e-16 ***
destination_hex2026       -9.133e-01  1.892e-02   -48.260  < 2e-16 ***
destination_hex2027        3.978e-01  1.586e-02    25.075  < 2e-16 ***
destination_hex2043       -8.531e-01  1.868e-02   -45.671  < 2e-16 ***
destination_hex2044        1.026e-02  1.643e-02     0.624 0.532401    
destination_hex2045       -3.321e-01  1.935e-02   -17.158  < 2e-16 ***
destination_hex2046        9.126e-01  1.566e-02    58.284  < 2e-16 ***
destination_hex2047       -8.793e-01  1.769e-02   -49.708  < 2e-16 ***
destination_hex2048       -5.828e-01  1.734e-02   -33.610  < 2e-16 ***
destination_hex2049       -4.446e+00  3.122e-02  -142.423  < 2e-16 ***
destination_hex2064        7.229e-02  1.685e-02     4.289 1.80e-05 ***
destination_hex2065       -2.063e-01  1.706e-02   -12.095  < 2e-16 ***
destination_hex2066       -2.155e+00  3.475e-02   -62.009  < 2e-16 ***
destination_hex2067        2.181e+00  1.541e-02   141.474  < 2e-16 ***
destination_hex2068       -6.053e-01  1.966e-02   -30.788  < 2e-16 ***
destination_hex2069       -5.321e-01  1.725e-02   -30.845  < 2e-16 ***
destination_hex2085       -3.113e-01  1.712e-02   -18.187  < 2e-16 ***
destination_hex2086        1.353e+00  1.568e-02    86.286  < 2e-16 ***
destination_hex2087        1.072e+00  1.575e-02    68.042  < 2e-16 ***
destination_hex2088       -1.086e-01  1.625e-02    -6.681 2.37e-11 ***
destination_hex2089       -1.067e+00  1.769e-02   -60.338  < 2e-16 ***
destination_hex2090        1.956e+00  1.547e-02   126.481  < 2e-16 ***
destination_hex2091       -4.011e+00  6.354e-02   -63.119  < 2e-16 ***
destination_hex2105        4.140e-01  7.693e-02     5.381 7.39e-08 ***
destination_hex2106       -1.255e+00  2.145e-02   -58.477  < 2e-16 ***
destination_hex2107        1.313e+00  1.569e-02    83.672  < 2e-16 ***
destination_hex2108        9.462e-01  1.592e-02    59.449  < 2e-16 ***
destination_hex2109       -4.907e-01  1.653e-02   -29.687  < 2e-16 ***
destination_hex2110       -1.105e+00  1.928e-02   -57.322  < 2e-16 ***
destination_hex2111       -2.749e+00  3.619e-02   -75.959  < 2e-16 ***
destination_hex2128        1.893e-01  1.776e-02    10.658  < 2e-16 ***
destination_hex2129        7.024e-02  1.811e-02     3.879 0.000105 ***
destination_hex2130       -6.690e-01  1.616e-02   -41.386  < 2e-16 ***
destination_hex2131       -4.998e-01  1.686e-02   -29.644  < 2e-16 ***
destination_hex2132       -2.532e-01  1.689e-02   -14.993  < 2e-16 ***
destination_hex2148       -5.599e-01  2.075e-02   -26.986  < 2e-16 ***
destination_hex2149       -5.957e-01  1.864e-02   -31.965  < 2e-16 ***
destination_hex215         5.555e-01  3.141e-02    17.685  < 2e-16 ***
destination_hex2150       -1.232e+00  1.717e-02   -71.795  < 2e-16 ***
destination_hex2151        1.332e+00  1.556e-02    85.600  < 2e-16 ***
destination_hex2152        3.854e-01  1.608e-02    23.964  < 2e-16 ***
destination_hex2153       -1.146e+00  1.887e-02   -60.731  < 2e-16 ***
destination_hex216        -1.302e-02  2.194e-02    -0.594 0.552696    
destination_hex217         3.113e-01  1.767e-02    17.613  < 2e-16 ***
destination_hex2171        7.064e-01  1.615e-02    43.731  < 2e-16 ***
destination_hex2172       -9.157e-01  1.893e-02   -48.377  < 2e-16 ***
destination_hex2173       -4.865e-01  1.692e-02   -28.753  < 2e-16 ***
destination_hex2174        7.797e-02  1.669e-02     4.671 3.00e-06 ***
destination_hex2191        1.019e+00  1.691e-02    60.253  < 2e-16 ***
destination_hex2192       -5.054e-01  1.856e-02   -27.224  < 2e-16 ***
destination_hex2193        1.165e-01  1.641e-02     7.102 1.23e-12 ***
destination_hex2194        7.654e-03  1.631e-02     0.469 0.638913    
destination_hex2195       -9.137e-01  3.712e-02   -24.613  < 2e-16 ***
destination_hex2212        9.774e-01  2.020e-02    48.395  < 2e-16 ***
destination_hex2213        5.195e-01  1.725e-02    30.123  < 2e-16 ***
destination_hex2214        1.463e+00  1.671e-02    87.537  < 2e-16 ***
destination_hex2215       -4.333e-01  1.782e-02   -24.322  < 2e-16 ***
destination_hex2216        4.670e-01  1.635e-02    28.563  < 2e-16 ***
destination_hex2233        1.056e+00  1.805e-02    58.504  < 2e-16 ***
destination_hex2234        9.081e-01  1.725e-02    52.654  < 2e-16 ***
destination_hex2235        2.702e-01  1.770e-02    15.266  < 2e-16 ***
destination_hex2236       -1.292e+00  2.034e-02   -63.520  < 2e-16 ***
destination_hex2237        3.752e-01  1.906e-02    19.682  < 2e-16 ***
destination_hex2256       -8.413e-02  1.971e-02    -4.268 1.97e-05 ***
destination_hex2257       -1.955e+00  3.003e-02   -65.117  < 2e-16 ***
destination_hex2258        4.420e-02  1.694e-02     2.610 0.009057 ** 
destination_hex2259        1.084e+00  1.826e-02    59.371  < 2e-16 ***
destination_hex2277       -7.297e-01  2.889e-02   -25.255  < 2e-16 ***
destination_hex2278       -7.314e-01  2.182e-02   -33.521  < 2e-16 ***
destination_hex2279        2.102e-01  1.691e-02    12.424  < 2e-16 ***
destination_hex2280       -1.503e+00  3.518e-02   -42.721  < 2e-16 ***
destination_hex2297       -6.275e-01  2.210e-02   -28.388  < 2e-16 ***
destination_hex23         -3.820e-02  4.843e-02    -0.789 0.430225    
destination_hex2300       -8.074e-01  2.495e-02   -32.367  < 2e-16 ***
destination_hex2301       -2.781e-01  1.812e-02   -15.345  < 2e-16 ***
destination_hex2318        1.338e+00  1.623e-02    82.474  < 2e-16 ***
destination_hex2319        1.460e+00  1.607e-02    90.857  < 2e-16 ***
destination_hex2322       -2.460e-02  1.789e-02    -1.375 0.169027    
destination_hex2337        1.306e+00  2.178e-02    59.952  < 2e-16 ***
destination_hex2341        1.705e+00  1.602e-02   106.419  < 2e-16 ***
destination_hex2343       -7.603e-01  1.982e-02   -38.368  < 2e-16 ***
destination_hex2361        3.600e-01  1.755e-02    20.510  < 2e-16 ***
destination_hex2364       -1.738e+00  3.327e-02   -52.226  < 2e-16 ***
destination_hex237        -6.276e-01  3.230e-02   -19.431  < 2e-16 ***
destination_hex2379        4.909e-01  2.931e-02    16.750  < 2e-16 ***
destination_hex238        -8.453e-02  2.117e-02    -3.993 6.53e-05 ***
destination_hex2384        1.205e+00  1.661e-02    72.517  < 2e-16 ***
destination_hex239        -2.484e-02  3.329e-02    -0.746 0.455519    
destination_hex2405        1.833e+00  1.597e-02   114.767  < 2e-16 ***
destination_hex2406       -1.319e+00  2.837e-02   -46.486  < 2e-16 ***
destination_hex2426        1.260e+00  1.881e-02    67.000  < 2e-16 ***
destination_hex2427        1.340e+00  1.664e-02    80.547  < 2e-16 ***
destination_hex2505        1.666e+00  2.371e-02    70.273  < 2e-16 ***
destination_hex257         6.137e-01  2.124e-02    28.893  < 2e-16 ***
destination_hex258        -7.369e-01  2.460e-02   -29.951  < 2e-16 ***
destination_hex259         4.969e-01  1.940e-02    25.609  < 2e-16 ***
destination_hex278         8.558e-01  2.158e-02    39.653  < 2e-16 ***
destination_hex279         3.179e-03  1.976e-02     0.161 0.872198    
destination_hex280         5.013e-01  1.942e-02    25.814  < 2e-16 ***
destination_hex298        -3.496e+00  1.333e-01   -26.215  < 2e-16 ***
destination_hex299         2.286e-01  2.222e-02    10.291  < 2e-16 ***
destination_hex300        -3.251e-01  2.266e-02   -14.346  < 2e-16 ***
destination_hex320         8.400e-01  2.012e-02    41.743  < 2e-16 ***
destination_hex321        -4.596e-01  2.743e-02   -16.755  < 2e-16 ***
destination_hex322         1.311e+00  1.910e-02    68.648  < 2e-16 ***
destination_hex340         2.011e+00  1.871e-02   107.503  < 2e-16 ***
destination_hex341         6.567e-01  1.925e-02    34.115  < 2e-16 ***
destination_hex342         1.282e+00  1.826e-02    70.244  < 2e-16 ***
destination_hex363         6.773e-01  2.022e-02    33.490  < 2e-16 ***
destination_hex364         2.047e+00  1.699e-02   120.496  < 2e-16 ***
destination_hex383         1.064e+00  1.758e-02    60.534  < 2e-16 ***
destination_hex384        -1.262e-01  1.729e-02    -7.301 2.86e-13 ***
destination_hex385         1.109e+00  2.128e-02    52.121  < 2e-16 ***
destination_hex404         1.644e+00  2.123e-02    77.438  < 2e-16 ***
destination_hex405         1.191e+00  1.831e-02    65.055  < 2e-16 ***
destination_hex406         6.367e-01  1.607e-02    39.624  < 2e-16 ***
destination_hex407         1.057e+00  1.741e-02    60.709  < 2e-16 ***
destination_hex408         2.193e+00  1.591e-02   137.862  < 2e-16 ***
destination_hex425        -2.709e-01  2.815e-02    -9.624  < 2e-16 ***
destination_hex426         4.248e-01  1.837e-02    23.128  < 2e-16 ***
destination_hex427        -1.658e+00  2.770e-02   -59.863  < 2e-16 ***
destination_hex428         1.066e-01  1.844e-02     5.784 7.30e-09 ***
destination_hex429        -1.362e-01  2.733e-02    -4.981 6.31e-07 ***
destination_hex44          1.817e+00  2.604e-02    69.793  < 2e-16 ***
destination_hex446         8.015e-02  2.680e-02     2.991 0.002782 ** 
destination_hex447        -1.848e-01  2.296e-02    -8.048 8.41e-16 ***
destination_hex448         1.605e-01  1.909e-02     8.407  < 2e-16 ***
destination_hex449        -6.254e-01  1.706e-02   -36.667  < 2e-16 ***
destination_hex450        -2.372e-01  1.932e-02   -12.281  < 2e-16 ***
destination_hex46          1.588e+00  2.503e-02    63.431  < 2e-16 ***
destination_hex468         6.975e-01  1.829e-02    38.144  < 2e-16 ***
destination_hex469        -4.930e-01  1.747e-02   -28.227  < 2e-16 ***
destination_hex470         2.081e-02  1.669e-02     1.247 0.212533    
destination_hex471        -6.293e-02  2.167e-02    -2.904 0.003689 ** 
destination_hex488        -2.294e-01  2.698e-02    -8.503  < 2e-16 ***
destination_hex489        -1.919e+00  4.962e-02   -38.680  < 2e-16 ***
destination_hex490         3.976e-01  1.741e-02    22.830  < 2e-16 ***
destination_hex491        -1.757e+00  2.127e-02   -82.625  < 2e-16 ***
destination_hex493        -2.313e+00  5.166e-02   -44.773  < 2e-16 ***
destination_hex494        -5.726e-01  2.660e-02   -21.529  < 2e-16 ***
destination_hex509        -2.707e-01  2.109e-02   -12.836  < 2e-16 ***
destination_hex510         5.864e-01  1.810e-02    32.394  < 2e-16 ***
destination_hex511        -7.972e-02  1.660e-02    -4.803 1.57e-06 ***
destination_hex512        -1.719e-01  1.644e-02   -10.456  < 2e-16 ***
destination_hex513         1.206e+00  1.689e-02    71.419  < 2e-16 ***
destination_hex514         5.568e-01  1.922e-02    28.965  < 2e-16 ***
destination_hex515        -4.793e-01  3.279e-02   -14.618  < 2e-16 ***
destination_hex530        -9.459e-01  3.328e-02   -28.427  < 2e-16 ***
destination_hex531         1.688e+00  1.633e-02   103.355  < 2e-16 ***
destination_hex532         3.940e-01  1.760e-02    22.388  < 2e-16 ***
destination_hex533         1.502e+00  1.557e-02    96.428  < 2e-16 ***
destination_hex534         4.253e-01  1.651e-02    25.759  < 2e-16 ***
destination_hex536        -4.274e-01  2.328e-02   -18.358  < 2e-16 ***
destination_hex537        -7.822e-01  3.681e-02   -21.247  < 2e-16 ***
destination_hex538        -1.507e+00  4.506e-02   -33.444  < 2e-16 ***
destination_hex539        -4.597e+00  5.776e-01    -7.959 1.73e-15 ***
destination_hex551         1.471e-02  2.336e-02     0.630 0.528891    
destination_hex552         1.652e+00  1.847e-02    89.404  < 2e-16 ***
destination_hex553        -6.155e-04  1.745e-02    -0.035 0.971868    
destination_hex554        -3.117e-01  1.671e-02   -18.651  < 2e-16 ***
destination_hex555         6.626e-01  1.698e-02    39.021  < 2e-16 ***
destination_hex559        -1.769e+00  5.644e-02   -31.341  < 2e-16 ***
destination_hex560         4.471e-01  2.221e-02    20.128  < 2e-16 ***
destination_hex561        -1.484e+00  6.899e-02   -21.504  < 2e-16 ***
destination_hex572        -4.448e-01  3.580e-02   -12.425  < 2e-16 ***
destination_hex573         1.175e+00  1.824e-02    64.409  < 2e-16 ***
destination_hex574        -8.264e-01  2.227e-02   -37.105  < 2e-16 ***
destination_hex575         2.278e+00  1.543e-02   147.663  < 2e-16 ***
destination_hex576         2.336e-01  1.652e-02    14.142  < 2e-16 ***
destination_hex578        -3.272e+00  1.077e-01   -30.383  < 2e-16 ***
destination_hex582        -2.027e+00  6.756e-02   -30.006  < 2e-16 ***
destination_hex583        -3.529e+00  2.188e-01   -16.133  < 2e-16 ***
destination_hex584        -5.716e-01  3.803e-02   -15.031  < 2e-16 ***
destination_hex593        -1.035e+00  2.818e-02   -36.726  < 2e-16 ***
destination_hex594         3.857e-01  2.019e-02    19.102  < 2e-16 ***
destination_hex595         9.470e-01  1.632e-02    58.020  < 2e-16 ***
destination_hex596         2.690e-01  1.611e-02    16.700  < 2e-16 ***
destination_hex597        -3.374e-01  2.164e-02   -15.591  < 2e-16 ***
destination_hex603        -1.804e+00  5.329e-02   -33.859  < 2e-16 ***
destination_hex604        -5.491e-01  4.699e-02   -11.686  < 2e-16 ***
destination_hex615        -5.676e-01  2.106e-02   -26.948  < 2e-16 ***
destination_hex616         7.282e-01  1.740e-02    41.842  < 2e-16 ***
destination_hex617        -5.010e-01  1.778e-02   -28.187  < 2e-16 ***
destination_hex618        -4.302e-02  1.646e-02    -2.613 0.008962 ** 
destination_hex620         4.534e-01  1.874e-02    24.186  < 2e-16 ***
destination_hex637        -1.368e-01  1.863e-02    -7.342 2.10e-13 ***
destination_hex638         1.366e-01  1.629e-02     8.385  < 2e-16 ***
destination_hex657         9.282e-01  1.672e-02    55.509  < 2e-16 ***
destination_hex658         3.670e-01  1.636e-02    22.426  < 2e-16 ***
destination_hex659         2.988e-01  1.627e-02    18.363  < 2e-16 ***
destination_hex66          1.101e-01  4.607e-02     2.391 0.016819 *  
destination_hex660         9.564e-01  1.578e-02    60.605  < 2e-16 ***
destination_hex662         4.002e-01  1.884e-02    21.243  < 2e-16 ***
destination_hex67          1.069e+00  2.006e-02    53.285  < 2e-16 ***
destination_hex677         7.934e-01  1.779e-02    44.611  < 2e-16 ***
destination_hex678        -6.176e-01  2.054e-02   -30.073  < 2e-16 ***
destination_hex679         7.483e-01  1.604e-02    46.660  < 2e-16 ***
destination_hex68          1.054e+00  2.440e-02    43.180  < 2e-16 ***
destination_hex680         2.333e+00  1.546e-02   150.845  < 2e-16 ***
destination_hex681        -9.840e-01  2.348e-02   -41.910  < 2e-16 ***
destination_hex699         4.520e-01  1.755e-02    25.751  < 2e-16 ***
destination_hex700         2.749e-01  1.666e-02    16.507  < 2e-16 ***
destination_hex701        -1.989e+00  2.440e-02   -81.507  < 2e-16 ***
destination_hex702         6.351e-01  1.598e-02    39.743  < 2e-16 ***
destination_hex704         5.536e-01  1.829e-02    30.263  < 2e-16 ***
destination_hex722        -2.452e-01  1.803e-02   -13.597  < 2e-16 ***
destination_hex725        -1.676e+00  3.082e-02   -54.401  < 2e-16 ***
destination_hex741         1.081e+00  1.676e-02    64.531  < 2e-16 ***
destination_hex743        -2.466e+00  2.587e-02   -95.353  < 2e-16 ***
destination_hex744         6.056e-01  1.602e-02    37.813  < 2e-16 ***
destination_hex761         1.171e+00  1.725e-02    67.873  < 2e-16 ***
destination_hex762        -5.456e-01  1.976e-02   -27.611  < 2e-16 ***
destination_hex763        -2.540e+00  2.543e-02   -99.909  < 2e-16 ***
destination_hex764         1.131e+00  1.566e-02    72.216  < 2e-16 ***
destination_hex765        -1.347e-01  1.779e-02    -7.574 3.63e-14 ***
destination_hex767         1.480e-01  1.667e-02     8.879  < 2e-16 ***
destination_hex772        -8.686e-01  3.774e-02   -23.014  < 2e-16 ***
destination_hex784        -1.829e+00  2.500e-02   -73.169  < 2e-16 ***
destination_hex785         9.774e-02  1.622e-02     6.025 1.70e-09 ***
destination_hex786         1.975e-01  1.604e-02    12.309  < 2e-16 ***
destination_hex787        -1.570e-01  1.793e-02    -8.757  < 2e-16 ***
destination_hex788        -1.481e+00  2.063e-02   -71.790  < 2e-16 ***
destination_hex789        -1.811e+00  2.263e-02   -80.023  < 2e-16 ***
destination_hex803        -4.488e-02  2.046e-02    -2.193 0.028311 *  
destination_hex804         2.646e-01  1.662e-02    15.917  < 2e-16 ***
destination_hex805         1.627e+00  1.554e-02   104.731  < 2e-16 ***
destination_hex806        -2.909e-01  1.633e-02   -17.817  < 2e-16 ***
destination_hex807        -2.197e-01  1.674e-02   -13.120  < 2e-16 ***
destination_hex808        -1.729e+00  2.488e-02   -69.502  < 2e-16 ***
destination_hex809         2.135e-01  1.616e-02    13.211  < 2e-16 ***
destination_hex810        -1.845e-01  1.747e-02   -10.566  < 2e-16 ***
destination_hex814        -1.421e-01  2.456e-02    -5.787 7.15e-09 ***
destination_hex819         4.745e+00  2.020e-02   234.855  < 2e-16 ***
destination_hex824         9.860e-02  2.023e-02     4.874 1.10e-06 ***
destination_hex826        -3.733e-02  1.640e-02    -2.276 0.022867 *  
destination_hex827        -4.299e-01  1.647e-02   -26.105  < 2e-16 ***
destination_hex828         1.541e-01  1.600e-02     9.627  < 2e-16 ***
destination_hex829        -2.869e-01  1.729e-02   -16.589  < 2e-16 ***
destination_hex830        -1.170e+00  1.982e-02   -59.051  < 2e-16 ***
destination_hex831         1.982e+00  1.548e-02   128.096  < 2e-16 ***
destination_hex832         1.682e+00  1.563e-02   107.613  < 2e-16 ***
destination_hex835        -9.312e-01  2.455e-02   -37.927  < 2e-16 ***
destination_hex844        -4.655e-01  2.343e-02   -19.867  < 2e-16 ***
destination_hex846        -1.201e-01  1.674e-02    -7.177 7.14e-13 ***
destination_hex847         7.947e-01  1.589e-02    50.012  < 2e-16 ***
destination_hex848        -1.131e-01  1.648e-02    -6.862 6.77e-12 ***
destination_hex849        -7.689e-01  1.730e-02   -44.435  < 2e-16 ***
destination_hex850         1.313e-01  1.628e-02     8.064 7.36e-16 ***
destination_hex851        -1.292e-01  1.643e-02    -7.863 3.76e-15 ***
destination_hex852        -2.684e-01  1.736e-02   -15.458  < 2e-16 ***
destination_hex853        -1.016e-01  1.719e-02    -5.913 3.36e-09 ***
destination_hex854         6.001e-03  2.073e-02     0.289 0.772238    
destination_hex855        -4.967e-01  2.473e-02   -20.082  < 2e-16 ***
destination_hex856        -1.984e+00  3.477e-02   -57.046  < 2e-16 ***
destination_hex86         -4.823e-01  3.769e-02   -12.796  < 2e-16 ***
destination_hex866         5.437e-01  1.819e-02    29.893  < 2e-16 ***
destination_hex867         1.388e+00  1.591e-02    87.274  < 2e-16 ***
destination_hex868         9.386e-01  1.613e-02    58.180  < 2e-16 ***
destination_hex869         1.878e+00  1.603e-02   117.103  < 2e-16 ***
destination_hex87         -1.582e+00  8.838e-02   -17.904  < 2e-16 ***
destination_hex870         1.465e+00  1.553e-02    94.307  < 2e-16 ***
destination_hex871         1.496e+00  1.572e-02    95.193  < 2e-16 ***
destination_hex872         3.545e-01  1.622e-02    21.853  < 2e-16 ***
destination_hex873         7.274e-02  1.715e-02     4.240 2.23e-05 ***
destination_hex874        -1.952e+00  2.015e-02   -96.877  < 2e-16 ***
destination_hex875        -1.359e+00  3.203e-02   -42.438  < 2e-16 ***
destination_hex876        -6.463e-01  2.440e-02   -26.486  < 2e-16 ***
destination_hex877         1.916e-01  2.073e-02     9.242  < 2e-16 ***
destination_hex88          1.742e-01  2.262e-02     7.700 1.36e-14 ***
destination_hex887         1.036e-02  1.732e-02     0.598 0.549518    
destination_hex888        -1.131e+00  2.037e-02   -55.545  < 2e-16 ***
destination_hex889        -3.511e-01  1.986e-02   -17.679  < 2e-16 ***
destination_hex89          6.195e-01  2.624e-02    23.606  < 2e-16 ***
destination_hex890         5.546e-01  1.599e-02    34.677  < 2e-16 ***
destination_hex891        -1.392e+00  2.084e-02   -66.804  < 2e-16 ***
destination_hex893         7.275e-01  1.588e-02    45.796  < 2e-16 ***
destination_hex894        -1.080e+00  1.917e-02   -56.329  < 2e-16 ***
destination_hex895         9.077e-02  1.786e-02     5.081 3.76e-07 ***
destination_hex896        -1.739e+00  3.362e-02   -51.718  < 2e-16 ***
destination_hex897        -1.812e+00  3.115e-02   -58.163  < 2e-16 ***
destination_hex898        -5.066e-02  2.075e-02    -2.441 0.014654 *  
destination_hex90         -3.057e+00  5.002e-01    -6.112 9.85e-10 ***
destination_hex908         5.270e-01  1.843e-02    28.596  < 2e-16 ***
destination_hex909        -1.396e-01  1.654e-02    -8.441  < 2e-16 ***
destination_hex910        -9.137e-01  1.928e-02   -47.388  < 2e-16 ***
destination_hex911         1.284e+00  1.575e-02    81.514  < 2e-16 ***
destination_hex912        -5.367e-01  1.682e-02   -31.898  < 2e-16 ***
destination_hex915         1.452e-01  1.636e-02     8.874  < 2e-16 ***
destination_hex917         1.164e+00  1.624e-02    71.666  < 2e-16 ***
destination_hex918        -2.278e+00  4.269e-02   -53.352  < 2e-16 ***
destination_hex919        -6.788e-01  2.105e-02   -32.243  < 2e-16 ***
destination_hex928        -1.134e+00  2.282e-02   -49.710  < 2e-16 ***
destination_hex929        -2.098e-01  1.673e-02   -12.545  < 2e-16 ***
destination_hex930         5.198e-01  1.571e-02    33.092  < 2e-16 ***
destination_hex931        -3.135e-01  1.832e-02   -17.118  < 2e-16 ***
destination_hex932        -2.367e+00  2.870e-02   -82.469  < 2e-16 ***
destination_hex933         2.160e-01  1.698e-02    12.722  < 2e-16 ***
destination_hex934        -2.550e-01  1.727e-02   -14.765  < 2e-16 ***
destination_hex935         2.003e+00  1.546e-02   129.519  < 2e-16 ***
destination_hex938        -3.984e+00  1.748e-01   -22.798  < 2e-16 ***
destination_hex939         2.150e+00  1.564e-02   137.431  < 2e-16 ***
destination_hex940        -8.528e-01  2.396e-02   -35.587  < 2e-16 ***
destination_hex949        -1.052e+00  2.097e-02   -50.167  < 2e-16 ***
destination_hex950         7.346e-01  1.602e-02    45.847  < 2e-16 ***
destination_hex951         1.558e+00  1.550e-02   100.544  < 2e-16 ***
destination_hex952         8.330e-01  1.707e-02    48.804  < 2e-16 ***
destination_hex953         2.038e-01  1.747e-02    11.662  < 2e-16 ***
destination_hex954        -1.826e+00  2.288e-02   -79.815  < 2e-16 ***
destination_hex955         1.041e+00  1.586e-02    65.634  < 2e-16 ***
destination_hex956        -4.923e-01  1.776e-02   -27.711  < 2e-16 ***
destination_hex957         8.755e-02  1.743e-02     5.023 5.10e-07 ***
destination_hex959        -1.791e-02  2.670e-02    -0.671 0.502322    
destination_hex961        -1.389e-01  1.934e-02    -7.184 6.79e-13 ***
destination_hex962         1.953e+00  1.597e-02   122.271  < 2e-16 ***
destination_hex970         3.794e-01  1.643e-02    23.084  < 2e-16 ***
destination_hex971         5.063e-01  1.591e-02    31.823  < 2e-16 ***
destination_hex972        -4.922e-01  1.676e-02   -29.370  < 2e-16 ***
destination_hex974        -6.685e-01  1.845e-02   -36.232  < 2e-16 ***
destination_hex975        -1.462e+00  2.211e-02   -66.120  < 2e-16 ***
destination_hex976        -7.820e-01  1.887e-02   -41.437  < 2e-16 ***
destination_hex977         8.570e-03  1.653e-02     0.519 0.604079    
destination_hex978        -2.313e+00  1.867e-02  -123.914  < 2e-16 ***
destination_hex982        -4.716e-01  1.864e-02   -25.306  < 2e-16 ***
destination_hex983         6.523e+00  1.568e-02   415.948  < 2e-16 ***
destination_hex984         4.312e+00  1.576e-02   273.511  < 2e-16 ***
destination_hex991         3.163e-01  1.666e-02    18.985  < 2e-16 ***
destination_hex992         5.691e-01  1.616e-02    35.205  < 2e-16 ***
destination_hex993        -8.934e-01  1.797e-02   -49.718  < 2e-16 ***
destination_hex994        -9.205e-01  1.890e-02   -48.707  < 2e-16 ***
destination_hex995        -1.523e-01  1.715e-02    -8.877  < 2e-16 ***
destination_hex996        -7.979e-01  1.865e-02   -42.782  < 2e-16 ***
destination_hex997         1.192e-02  2.005e-02     0.595 0.552145    
destination_hex998         3.023e-01  1.631e-02    18.529  < 2e-16 ***
destination_hex999        -1.806e+00  1.809e-02   -99.849  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 98559950  on 64884  degrees of freedom
Residual deviance: 36749407  on 64061  degrees of freedom
AIC: 37107754

Number of Fisher Scoring iterations: 8
Code
CalcRSquared(decSIM$data$trips, decSIM$fitted.values)
[1] 0.3667168

Key Coefficients: The Poisson regression model provides estimates of the coefficients, shedding light on the relationship between predictor variables and the logarithm of trip counts. Significant p-values (< 2e-16) highlight the importance of each predictor in influencing trip counts.

  • Intercept: 13.90 (p < 2e-16)
  • log(push_num_bus_stops): 0.320 (p < 2e-16)
  • log(push_station_count): -0.548 (p < 2e-16)
  • log(push_trainexit_count): 0.455 (p < 2e-16)
  • log(push_hdb_sf_count): 0.398 (p < 2e-16)
  • log(push_est_pop): -0.019 (p < 2e-16)
  • log(distance): -1.260 (p < 2e-16)
  • destination_hex1003: 1.793 (p < 2e-16)
  • destination_hex1004: 0.856 (p < 2e-16)
  • destination_hex1011: -0.046 (p = 0.0165)
  • destination_hex1012: 1.545 (p < 2e-16)
  • destination_hex1013: 0.134 (p = 3.71e-15)
  • destination_hex1014: -1.525 (p < 2e-16)
  • destination_hex1015: 1.265 (p < 2e-16)
  • destination_hex1016: 1.288 (p < 2e-16)
  • destination_hex1018: -0.200 (p < 2e-16)
  • destination_hex1019: 0.308 (p < 2e-16)
  • destination_hex1023: -0.778 (p < 2e-16)
  • destination_hex1024: 0.413 (p < 2e-16)
  • destination_hex1025: -3.483 (p < 2e-16)
  • destination_hex1033: 0.481 (p < 2e-16)
  • and various other dummy destination variables in which many are statistically significant.

Model Fit: The R-squared value for the model is approximately 0.367, indicating that around 36.7% of the variability in trip counts can be explained by the selected predictor variables. The model’s goodness-of-fit metrics, including the residual deviance and AIC, support its efficacy in capturing patterns within the dataset. Each predictor’s p-value underscores its significance in explaining the observed variation in trip counts.

Doubly Constrained

Code
docSIM <- glm(formula = trips ~ 
                origin_hex +
                destination_hex +
                log(distance),
              family = poisson(link = "log"),
              data = final_df,
              na.action = na.exclude)

summary(docSIM)

Call:
glm(formula = trips ~ origin_hex + destination_hex + log(distance), 
    family = poisson(link = "log"), data = final_df, na.action = na.exclude)

Coefficients:
                      Estimate Std. Error   z value Pr(>|z|)    
(Intercept)         14.3430520  0.0291417   492.182  < 2e-16 ***
origin_hex1003       2.5903322  0.0250027   103.602  < 2e-16 ***
origin_hex1004       3.4121753  0.0248683   137.210  < 2e-16 ***
origin_hex1011      -1.0631114  0.0389378   -27.303  < 2e-16 ***
origin_hex1012      -0.9093517  0.0402367   -22.600  < 2e-16 ***
origin_hex1013      -0.2681447  0.0292831    -9.157  < 2e-16 ***
origin_hex1014       0.3571280  0.0268315    13.310  < 2e-16 ***
origin_hex1015      -0.4350234  0.0293031   -14.846  < 2e-16 ***
origin_hex1016       1.3449090  0.0256486    52.436  < 2e-16 ***
origin_hex1018       1.9062046  0.0266824    71.441  < 2e-16 ***
origin_hex1019       3.3716162  0.0250505   134.593  < 2e-16 ***
origin_hex1023       1.5582844  0.0263390    59.163  < 2e-16 ***
origin_hex1024       2.7831993  0.0250544   111.086  < 2e-16 ***
origin_hex1025      -1.9083997  0.0549907   -34.704  < 2e-16 ***
origin_hex1033       0.2592686  0.0270916     9.570  < 2e-16 ***
origin_hex1034       1.2878808  0.0256506    50.209  < 2e-16 ***
origin_hex1035       1.8765649  0.0252289    74.382  < 2e-16 ***
origin_hex1036      -0.1776623  0.0282643    -6.286 3.26e-10 ***
origin_hex1037       1.1158226  0.0255936    43.598  < 2e-16 ***
origin_hex1043      -0.0300218  0.0348369    -0.862 0.388808    
origin_hex1045       2.1788516  0.0250463    86.993  < 2e-16 ***
origin_hex1046       2.4951748  0.0251481    99.219  < 2e-16 ***
origin_hex1053       1.6284491  0.0253318    64.285  < 2e-16 ***
origin_hex1054       0.8661803  0.0258339    33.529  < 2e-16 ***
origin_hex1055       1.8106460  0.0251866    71.889  < 2e-16 ***
origin_hex1056       0.7442746  0.0262855    28.315  < 2e-16 ***
origin_hex1064      -2.9534132  0.2512310   -11.756  < 2e-16 ***
origin_hex1066       2.2264538  0.0251525    88.518  < 2e-16 ***
origin_hex1067       2.2719081  0.0255327    88.980  < 2e-16 ***
origin_hex1074       1.0124600  0.0257866    39.263  < 2e-16 ***
origin_hex1075       0.4195257  0.0266182    15.761  < 2e-16 ***
origin_hex1076       0.4962346  0.0261086    19.007  < 2e-16 ***
origin_hex1077       0.7393112  0.0266156    27.777  < 2e-16 ***
origin_hex1079       1.8970026  0.0251525    75.420  < 2e-16 ***
origin_hex1085      -3.6911898  0.1435210   -25.719  < 2e-16 ***
origin_hex1087       1.7396384  0.0253359    68.663  < 2e-16 ***
origin_hex1088       0.6057076  0.0273269    22.165  < 2e-16 ***
origin_hex109       -1.8749565  0.1026963   -18.257  < 2e-16 ***
origin_hex1094      -1.2556216  0.0501123   -25.056  < 2e-16 ***
origin_hex1095      -1.4848496  0.0411105   -36.118  < 2e-16 ***
origin_hex1096       0.7535192  0.0321237    23.457  < 2e-16 ***
origin_hex1097       2.3105995  0.0249429    92.635  < 2e-16 ***
origin_hex1098      -0.0103852  0.0305031    -0.340 0.733507    
origin_hex1099       1.2438856  0.0255498    48.685  < 2e-16 ***
origin_hex110       -1.3774252  0.0764818   -18.010  < 2e-16 ***
origin_hex1105      -1.0155910  0.0659078   -15.409  < 2e-16 ***
origin_hex1106      -2.7238970  0.0949197   -28.697  < 2e-16 ***
origin_hex1107      -0.8414605  0.0368788   -22.817  < 2e-16 ***
origin_hex1108       3.9323157  0.0247914   158.616  < 2e-16 ***
origin_hex1109       1.0371411  0.0267176    38.819  < 2e-16 ***
origin_hex111        1.7482750  0.0285230    61.293  < 2e-16 ***
origin_hex1116       0.9125158  0.0260677    35.006  < 2e-16 ***
origin_hex1117      -0.6400039  0.0302084   -21.186  < 2e-16 ***
origin_hex1118      -0.5765555  0.0311796   -18.491  < 2e-16 ***
origin_hex1119       0.6842023  0.0264703    25.848  < 2e-16 ***
origin_hex112       -2.6052716  0.0691053   -37.700  < 2e-16 ***
origin_hex1120       0.5676771  0.0278991    20.348  < 2e-16 ***
origin_hex1129       1.9758544  0.0251287    78.629  < 2e-16 ***
origin_hex1130       2.4369687  0.0249925    97.508  < 2e-16 ***
origin_hex1131       0.9668029  0.0267147    36.190  < 2e-16 ***
origin_hex1136      -0.4742722  0.0289742   -16.369  < 2e-16 ***
origin_hex1138      -1.0970718  0.0378298   -29.000  < 2e-16 ***
origin_hex1139       1.3482846  0.0252012    53.501  < 2e-16 ***
origin_hex1141       1.4379921  0.0254250    56.558  < 2e-16 ***
origin_hex1148      -1.2060430  0.0571182   -21.115  < 2e-16 ***
origin_hex1149       0.2361057  0.0300643     7.853 4.05e-15 ***
origin_hex1150       2.7846279  0.0249352   111.675  < 2e-16 ***
origin_hex1151       0.7362468  0.0255392    28.828  < 2e-16 ***
origin_hex1158      -0.3968568  0.0270501   -14.671  < 2e-16 ***
origin_hex1159       1.2628707  0.0253060    49.904  < 2e-16 ***
origin_hex1160       2.3290710  0.0249504    93.348  < 2e-16 ***
origin_hex1171       3.1851005  0.0249958   127.426  < 2e-16 ***
origin_hex1172       3.0491950  0.0249922   122.006  < 2e-16 ***
origin_hex1173       0.0559008  0.0276637     2.021 0.043308 *  
origin_hex1174      -3.2792088  0.2684651   -12.215  < 2e-16 ***
origin_hex1178      -0.0174636  0.0267319    -0.653 0.513571    
origin_hex1179       0.8191122  0.0255933    32.005  < 2e-16 ***
origin_hex1180       1.8611961  0.0250428    74.321  < 2e-16 ***
origin_hex1181       1.1944927  0.0255105    46.824  < 2e-16 ***
origin_hex1183       0.3118311  0.0272599    11.439  < 2e-16 ***
origin_hex1190      -0.6994399  0.0537874   -13.004  < 2e-16 ***
origin_hex1192       2.0980558  0.0254522    82.431  < 2e-16 ***
origin_hex1193       1.9974185  0.0252239    79.187  < 2e-16 ***
origin_hex1194       0.0987029  0.0283260     3.485 0.000493 ***
origin_hex1200       0.8826503  0.0255725    34.516  < 2e-16 ***
origin_hex1201       0.7807828  0.0256612    30.427  < 2e-16 ***
origin_hex1203       1.6163213  0.0253599    63.735  < 2e-16 ***
origin_hex1204       1.2349564  0.0255866    48.266  < 2e-16 ***
origin_hex1211      -1.2695417  0.0924841   -13.727  < 2e-16 ***
origin_hex1214       2.7376752  0.0250338   109.359  < 2e-16 ***
origin_hex1215      -0.8350641  0.0467435   -17.865  < 2e-16 ***
origin_hex1216      -1.5932564  0.0473398   -33.656  < 2e-16 ***
origin_hex1220       2.0629601  0.0250126    82.477  < 2e-16 ***
origin_hex1221       1.4896282  0.0250907    59.370  < 2e-16 ***
origin_hex1222       1.2674748  0.0265280    47.779  < 2e-16 ***
origin_hex1223      -0.4107184  0.0297633   -13.800  < 2e-16 ***
origin_hex1224       0.4174536  0.0268419    15.552  < 2e-16 ***
origin_hex1231      -3.4578881  0.1905817   -18.144  < 2e-16 ***
origin_hex1232      -1.7274527  0.1144803   -15.090  < 2e-16 ***
origin_hex1235       0.2406004  0.0282482     8.517  < 2e-16 ***
origin_hex1236       0.1565051  0.0282595     5.538 3.06e-08 ***
origin_hex1241       0.1614794  0.0266177     6.067 1.31e-09 ***
origin_hex1242       0.6614770  0.0255971    25.842  < 2e-16 ***
origin_hex1243       1.4665244  0.0251524    58.306  < 2e-16 ***
origin_hex1246       0.4731864  0.0263069    17.987  < 2e-16 ***
origin_hex1256       1.6729618  0.0259482    64.473  < 2e-16 ***
origin_hex1257       2.5964352  0.0252632   102.775  < 2e-16 ***
origin_hex1258       0.2954063  0.0286189    10.322  < 2e-16 ***
origin_hex1262       0.6916878  0.0260014    26.602  < 2e-16 ***
origin_hex1263       1.0363958  0.0252272    41.083  < 2e-16 ***
origin_hex1264       0.3436661  0.0273355    12.572  < 2e-16 ***
origin_hex1265      -0.1688271  0.0283523    -5.955 2.61e-09 ***
origin_hex1266       1.1886330  0.0258505    45.981  < 2e-16 ***
origin_hex1267      -0.8241729  0.0364288   -22.624  < 2e-16 ***
origin_hex1272      -3.0243630  0.1180921   -25.610  < 2e-16 ***
origin_hex1273       0.9380934  0.0273402    34.312  < 2e-16 ***
origin_hex1277       2.5447438  0.0250284   101.674  < 2e-16 ***
origin_hex1278      -0.0548415  0.0282598    -1.941 0.052304 .  
origin_hex128        0.4983129  0.0402788    12.372  < 2e-16 ***
origin_hex1283       2.3719219  0.0249639    95.014  < 2e-16 ***
origin_hex1284       1.4849357  0.0251401    59.066  < 2e-16 ***
origin_hex1285       2.1536213  0.0249155    86.437  < 2e-16 ***
origin_hex1286       0.4718853  0.0266565    17.702  < 2e-16 ***
origin_hex1289      -1.3661089  0.0523371   -26.102  < 2e-16 ***
origin_hex129       -2.1870574  0.1912998   -11.433  < 2e-16 ***
origin_hex1293      -3.0362270  0.0924779   -32.832  < 2e-16 ***
origin_hex1294       2.4407838  0.0253287    96.364  < 2e-16 ***
origin_hex1295      -0.0413929  0.0321284    -1.288 0.197620    
origin_hex1298       1.6076405  0.0255251    62.983  < 2e-16 ***
origin_hex1299       1.9507024  0.0254509    76.646  < 2e-16 ***
origin_hex130       -2.2665276  0.0660662   -34.307  < 2e-16 ***
origin_hex1304       2.2216511  0.0249831    88.926  < 2e-16 ***
origin_hex1305       1.4955437  0.0250307    59.748  < 2e-16 ***
origin_hex1307      -1.7027141  0.0449582   -37.873  < 2e-16 ***
origin_hex1308       1.2818625  0.0254231    50.421  < 2e-16 ***
origin_hex131       -1.5232337  0.0437542   -34.813  < 2e-16 ***
origin_hex1310      -2.6105754  0.1371167   -19.039  < 2e-16 ***
origin_hex1316      -1.0606751  0.0412950   -25.685  < 2e-16 ***
origin_hex1317       0.4562378  0.0270864    16.844  < 2e-16 ***
origin_hex1318       0.0069986  0.0290307     0.241 0.809496    
origin_hex1319       2.7426097  0.0249942   109.730  < 2e-16 ***
origin_hex132       -1.9791281  0.0546229   -36.233  < 2e-16 ***
origin_hex1320       1.4778627  0.0262307    56.341  < 2e-16 ***
origin_hex1325      -0.2112466  0.0275514    -7.667 1.76e-14 ***
origin_hex1326       1.6965323  0.0250218    67.802  < 2e-16 ***
origin_hex1327       1.5666456  0.0250899    62.441  < 2e-16 ***
origin_hex1328       0.3551687  0.0263957    13.456  < 2e-16 ***
origin_hex1329       0.5467980  0.0272457    20.069  < 2e-16 ***
origin_hex133       -1.3865798  0.0454571   -30.503  < 2e-16 ***
origin_hex1330       0.2395731  0.0261921     9.147  < 2e-16 ***
origin_hex1331      -3.3408762  0.3025464   -11.043  < 2e-16 ***
origin_hex1333       0.3418904  0.0276452    12.367  < 2e-16 ***
origin_hex1334       0.6357777  0.0273107    23.279  < 2e-16 ***
origin_hex1335       0.3009877  0.0298548    10.082  < 2e-16 ***
origin_hex1336      -2.5717095  0.1100441   -23.370  < 2e-16 ***
origin_hex1337      -2.2005122  0.0546102   -40.295  < 2e-16 ***
origin_hex1338      -2.9076901  0.0850588   -34.184  < 2e-16 ***
origin_hex1339       2.8648024  0.0249429   114.854  < 2e-16 ***
origin_hex134        1.0813931  0.0376397    28.730  < 2e-16 ***
origin_hex1340       1.1860083  0.0262177    45.237  < 2e-16 ***
origin_hex1341      -4.5965220  0.7075408    -6.496 8.22e-11 ***
origin_hex1346       1.5485808  0.0254218    60.915  < 2e-16 ***
origin_hex1347       2.4078050  0.0249199    96.622  < 2e-16 ***
origin_hex1348       0.8715209  0.0254454    34.251  < 2e-16 ***
origin_hex1349       0.5668537  0.0259618    21.834  < 2e-16 ***
origin_hex1350       0.7820028  0.0270532    28.906  < 2e-16 ***
origin_hex1353       0.3446533  0.0267027    12.907  < 2e-16 ***
origin_hex1354       0.3499215  0.0276138    12.672  < 2e-16 ***
origin_hex1355       1.1577635  0.0260891    44.377  < 2e-16 ***
origin_hex1357       0.1813423  0.0309432     5.860 4.61e-09 ***
origin_hex1358       1.5114503  0.0256918    58.830  < 2e-16 ***
origin_hex1359       1.9540290  0.0252074    77.518  < 2e-16 ***
origin_hex1360       1.8999290  0.0252469    75.254  < 2e-16 ***
origin_hex1361       3.0060797  0.0250238   120.129  < 2e-16 ***
origin_hex1362      -1.1275824  0.0515010   -21.894  < 2e-16 ***
origin_hex1368       0.4253016  0.0260629    16.318  < 2e-16 ***
origin_hex1369       0.1753763  0.0261345     6.711 1.94e-11 ***
origin_hex1370       1.2074643  0.0251840    47.946  < 2e-16 ***
origin_hex1371       0.6274363  0.0265621    23.622  < 2e-16 ***
origin_hex1372      -0.1897837  0.0279162    -6.798 1.06e-11 ***
origin_hex1373      -1.8255495  0.0527438   -34.612  < 2e-16 ***
origin_hex1374       0.3466699  0.0291109    11.909  < 2e-16 ***
origin_hex1375       1.5853201  0.0259236    61.154  < 2e-16 ***
origin_hex1376       1.0050971  0.0276080    36.406  < 2e-16 ***
origin_hex1379      -1.3833919  0.0423682   -32.652  < 2e-16 ***
origin_hex1380       3.2101733  0.0248615   129.122  < 2e-16 ***
origin_hex1381       2.7504830  0.0249561   110.213  < 2e-16 ***
origin_hex1382       2.2572616  0.0254612    88.655  < 2e-16 ***
origin_hex1383      -0.3287207  0.0344664    -9.537  < 2e-16 ***
origin_hex1388       0.9110740  0.0255151    35.707  < 2e-16 ***
origin_hex1389       0.1734620  0.0262105     6.618 3.64e-11 ***
origin_hex1390       0.6207525  0.0255732    24.274  < 2e-16 ***
origin_hex1391       0.6796850  0.0260289    26.113  < 2e-16 ***
origin_hex1392       0.0925966  0.0292964     3.161 0.001574 ** 
origin_hex1393      -0.6789458  0.0288651   -23.521  < 2e-16 ***
origin_hex1394       0.7593429  0.0258010    29.431  < 2e-16 ***
origin_hex1395       0.8399271  0.0258738    32.463  < 2e-16 ***
origin_hex1396       2.0996383  0.0251811    83.382  < 2e-16 ***
origin_hex1397       1.8367623  0.0252335    72.791  < 2e-16 ***
origin_hex1398       0.8641199  0.0269634    32.048  < 2e-16 ***
origin_hex1400       2.1179364  0.0255296    82.960  < 2e-16 ***
origin_hex1401       2.2053815  0.0249878    88.258  < 2e-16 ***
origin_hex1402       2.4637052  0.0250623    98.303  < 2e-16 ***
origin_hex1404       2.7503971  0.0289917    94.868  < 2e-16 ***
origin_hex1410       1.2795883  0.0250753    51.030  < 2e-16 ***
origin_hex1411       0.5634369  0.0259276    21.731  < 2e-16 ***
origin_hex1412       0.7170133  0.0254551    28.168  < 2e-16 ***
origin_hex1413       1.4960962  0.0251404    59.510  < 2e-16 ***
origin_hex1414       0.4051654  0.0255140    15.880  < 2e-16 ***
origin_hex1415       0.3108508  0.0263366    11.803  < 2e-16 ***
origin_hex1416       1.1210642  0.0257160    43.594  < 2e-16 ***
origin_hex1417       1.1702158  0.0254934    45.903  < 2e-16 ***
origin_hex1418       1.9644864  0.0251512    78.107  < 2e-16 ***
origin_hex1419       1.3157300  0.0255201    51.557  < 2e-16 ***
origin_hex1422       2.6925288  0.0251831   106.918  < 2e-16 ***
origin_hex1423       3.4189686  0.0249263   137.163  < 2e-16 ***
origin_hex1430       1.0514550  0.0253580    41.464  < 2e-16 ***
origin_hex1431       1.2734648  0.0251419    50.651  < 2e-16 ***
origin_hex1432       1.2886061  0.0251311    51.275  < 2e-16 ***
origin_hex1433      -0.2074512  0.0293454    -7.069 1.56e-12 ***
origin_hex1434       1.2736529  0.0252761    50.390  < 2e-16 ***
origin_hex1435       1.7311743  0.0250014    69.243  < 2e-16 ***
origin_hex1436      -1.1681736  0.0333824   -34.994  < 2e-16 ***
origin_hex1437       2.0521918  0.0250484    81.929  < 2e-16 ***
origin_hex1438       2.3632475  0.0248966    94.922  < 2e-16 ***
origin_hex1439       2.9680276  0.0248405   119.484  < 2e-16 ***
origin_hex1440      -0.9100881  0.0318606   -28.565  < 2e-16 ***
origin_hex1442       2.2814707  0.0255389    89.333  < 2e-16 ***
origin_hex1443       3.4590638  0.0249623   138.572  < 2e-16 ***
origin_hex1444       2.3178575  0.0257460    90.028  < 2e-16 ***
origin_hex1452       0.1493329  0.0258263     5.782 7.37e-09 ***
origin_hex1453       0.6800212  0.0255530    26.612  < 2e-16 ***
origin_hex1454      -0.6561630  0.0306316   -21.421  < 2e-16 ***
origin_hex1455       0.8884835  0.0259563    34.230  < 2e-16 ***
origin_hex1456       1.2274465  0.0253686    48.385  < 2e-16 ***
origin_hex1457       2.1437489  0.0250085    85.721  < 2e-16 ***
origin_hex1458       2.3048084  0.0249449    92.396  < 2e-16 ***
origin_hex1459       1.7566986  0.0250942    70.004  < 2e-16 ***
origin_hex1460       1.1063627  0.0254352    43.497  < 2e-16 ***
origin_hex1461      -0.3894955  0.0297510   -13.092  < 2e-16 ***
origin_hex1464       3.5171023  0.0249365   141.042  < 2e-16 ***
origin_hex1465       3.0717497  0.0251214   122.276  < 2e-16 ***
origin_hex1472      -0.9813180  0.0310765   -31.578  < 2e-16 ***
origin_hex1473      -0.1579978  0.0264956    -5.963 2.47e-09 ***
origin_hex1474       0.8192156  0.0252325    32.467  < 2e-16 ***
origin_hex1475       1.9699440  0.0250063    78.778  < 2e-16 ***
origin_hex1476       1.2879781  0.0254203    50.667  < 2e-16 ***
origin_hex1477       2.6826958  0.0248258   108.061  < 2e-16 ***
origin_hex1478       0.9547368  0.0254565    37.505  < 2e-16 ***
origin_hex1479       1.3026834  0.0253077    51.474  < 2e-16 ***
origin_hex1480       3.0073957  0.0248079   121.227  < 2e-16 ***
origin_hex1481       0.2955533  0.0265930    11.114  < 2e-16 ***
origin_hex1482       0.3839474  0.0277050    13.858  < 2e-16 ***
origin_hex1485       3.1671805  0.0251434   125.965  < 2e-16 ***
origin_hex1494       0.2718640  0.0272672     9.970  < 2e-16 ***
origin_hex1495       0.4178422  0.0258394    16.171  < 2e-16 ***
origin_hex1496       0.5838273  0.0251450    23.218  < 2e-16 ***
origin_hex1497       1.6676448  0.0251850    66.216  < 2e-16 ***
origin_hex1498       2.0378140  0.0249916    81.540  < 2e-16 ***
origin_hex1499       2.1735035  0.0249285    87.189  < 2e-16 ***
origin_hex150        1.5928125  0.0338165    47.102  < 2e-16 ***
origin_hex1500       2.1318376  0.0252291    84.499  < 2e-16 ***
origin_hex1501       2.3611720  0.0249308    94.709  < 2e-16 ***
origin_hex1502       1.7321435  0.0250960    69.021  < 2e-16 ***
origin_hex1506      -2.3619448  0.1112605   -21.229  < 2e-16 ***
origin_hex151       -1.5004188  0.0648893   -23.123  < 2e-16 ***
origin_hex1515      -0.7592251  0.0324455   -23.400  < 2e-16 ***
origin_hex1516      -0.3169966  0.0255788   -12.393  < 2e-16 ***
origin_hex1517       1.0542688  0.0255475    41.267  < 2e-16 ***
origin_hex1518       0.9615910  0.0256936    37.425  < 2e-16 ***
origin_hex1519       2.1221945  0.0251511    84.378  < 2e-16 ***
origin_hex152       -1.5909415  0.0855129   -18.605  < 2e-16 ***
origin_hex1520       0.9274652  0.0255746    36.265  < 2e-16 ***
origin_hex1521       0.1967295  0.0269384     7.303 2.82e-13 ***
origin_hex1522       2.5820203  0.0249018   103.688  < 2e-16 ***
origin_hex1523       0.8292233  0.0288083    28.784  < 2e-16 ***
origin_hex1524       1.2882669  0.0262739    49.032  < 2e-16 ***
origin_hex1527       0.9576001  0.0293424    32.635  < 2e-16 ***
origin_hex153       -2.0115324  0.0501118   -40.141  < 2e-16 ***
origin_hex1535      -1.4703274  0.0778653   -18.883  < 2e-16 ***
origin_hex1536      -1.2704347  0.0407747   -31.157  < 2e-16 ***
origin_hex1537      -0.7171926  0.0291269   -24.623  < 2e-16 ***
origin_hex1538       0.8955735  0.0253638    35.309  < 2e-16 ***
origin_hex1539       1.3155969  0.0251550    52.300  < 2e-16 ***
origin_hex154        1.6163666  0.0271298    59.579  < 2e-16 ***
origin_hex1540       1.8771968  0.0250235    75.017  < 2e-16 ***
origin_hex1541       2.3885308  0.0252251    94.689  < 2e-16 ***
origin_hex1542       0.0131479  0.0285222     0.461 0.644820    
origin_hex1543       0.7285350  0.0315312    23.105  < 2e-16 ***
origin_hex1544       1.4013250  0.0254794    54.998  < 2e-16 ***
origin_hex1547      -1.3946111  0.0628364   -22.194  < 2e-16 ***
origin_hex155       -1.2458033  0.0414166   -30.080  < 2e-16 ***
origin_hex1556      -0.8095600  0.0645234   -12.547  < 2e-16 ***
origin_hex1557      -1.4211076  0.0394367   -36.035  < 2e-16 ***
origin_hex1558      -0.0113283  0.0302713    -0.374 0.708237    
origin_hex1559       1.4586106  0.0250883    58.139  < 2e-16 ***
origin_hex156       -0.2762719  0.0464198    -5.952 2.66e-09 ***
origin_hex1560       2.3456494  0.0249085    94.171  < 2e-16 ***
origin_hex1561       2.1125912  0.0250684    84.273  < 2e-16 ***
origin_hex1562      -0.8957776  0.0311334   -28.772  < 2e-16 ***
origin_hex1563       0.8278771  0.0256430    32.285  < 2e-16 ***
origin_hex1564       0.1161516  0.0276925     4.194 2.74e-05 ***
origin_hex1565       0.0287935  0.0279967     1.028 0.303735    
origin_hex1566      -0.1439264  0.0312250    -4.609 4.04e-06 ***
origin_hex1567      -2.0955498  0.0804019   -26.063  < 2e-16 ***
origin_hex1568      -1.0929263  0.0660382   -16.550  < 2e-16 ***
origin_hex1578      -3.7265116  0.7075723    -5.267 1.39e-07 ***
origin_hex1580      -0.0904396  0.0287598    -3.145 0.001663 ** 
origin_hex1581      -1.2195735  0.0314668   -38.757  < 2e-16 ***
origin_hex1582       1.8417223  0.0249469    73.826  < 2e-16 ***
origin_hex1583      -0.5054316  0.0317589   -15.915  < 2e-16 ***
origin_hex1584       0.3977684  0.0265544    14.979  < 2e-16 ***
origin_hex1585       1.2198772  0.0261641    46.624  < 2e-16 ***
origin_hex1586       0.1637462  0.0274063     5.975 2.30e-09 ***
origin_hex1589      -2.7617885  0.1145259   -24.115  < 2e-16 ***
origin_hex1590      -1.1981588  0.0625560   -19.153  < 2e-16 ***
origin_hex1600       1.9032722  0.0266106    71.523  < 2e-16 ***
origin_hex1601       0.3432527  0.0256897    13.361  < 2e-16 ***
origin_hex1602       1.4341786  0.0253309    56.618  < 2e-16 ***
origin_hex1603       1.8924183  0.0249667    75.798  < 2e-16 ***
origin_hex1604       0.7484161  0.0257747    29.037  < 2e-16 ***
origin_hex1605       1.7007606  0.0250027    68.023  < 2e-16 ***
origin_hex1606       1.6970394  0.0262087    64.751  < 2e-16 ***
origin_hex1607       0.5983350  0.0263000    22.750  < 2e-16 ***
origin_hex1608       2.7355650  0.0250304   109.290  < 2e-16 ***
origin_hex1609       2.4808691  0.0252521    98.244  < 2e-16 ***
origin_hex1610      -0.9194034  0.0670438   -13.713  < 2e-16 ***
origin_hex1622       0.9705860  0.0320628    30.271  < 2e-16 ***
origin_hex1623       1.8849570  0.0249712    75.485  < 2e-16 ***
origin_hex1624       0.7452920  0.0258760    28.802  < 2e-16 ***
origin_hex1625       2.0780321  0.0250571    82.932  < 2e-16 ***
origin_hex1626       2.6755694  0.0248710   107.578  < 2e-16 ***
origin_hex1627       1.1794210  0.0255534    46.155  < 2e-16 ***
origin_hex1628       2.7825871  0.0248883   111.803  < 2e-16 ***
origin_hex1629       1.7674555  0.0255377    69.210  < 2e-16 ***
origin_hex1630       1.6765917  0.0258368    64.892  < 2e-16 ***
origin_hex1631      -1.6456701  0.0641336   -25.660  < 2e-16 ***
origin_hex1642      -0.6915522  0.0369280   -18.727  < 2e-16 ***
origin_hex1643       1.8978753  0.0250269    75.833  < 2e-16 ***
origin_hex1644      -0.1330742  0.0292804    -4.545 5.50e-06 ***
origin_hex1645       1.1274112  0.0253427    44.487  < 2e-16 ***
origin_hex1646       1.1283863  0.0260826    43.262  < 2e-16 ***
origin_hex1647       1.2649984  0.0252557    50.088  < 2e-16 ***
origin_hex1648       1.9418327  0.0250806    77.424  < 2e-16 ***
origin_hex1649       2.6823705  0.0249194   107.642  < 2e-16 ***
origin_hex1650       2.7290278  0.0251929   108.325  < 2e-16 ***
origin_hex1664      -3.2937067  0.1686522   -19.530  < 2e-16 ***
origin_hex1665       2.0671203  0.0249553    82.833  < 2e-16 ***
origin_hex1666       0.8330536  0.0255556    32.598  < 2e-16 ***
origin_hex1667       1.8369642  0.0267109    68.772  < 2e-16 ***
origin_hex1668       1.9861343  0.0250672    79.232  < 2e-16 ***
origin_hex1670       2.6940504  0.0248829   108.269  < 2e-16 ***
origin_hex1671       3.2131876  0.0251841   127.588  < 2e-16 ***
origin_hex1672       2.8932691  0.0253282   114.231  < 2e-16 ***
origin_hex1684       1.0605664  0.0272982    38.851  < 2e-16 ***
origin_hex1685       1.6732544  0.0251923    66.419  < 2e-16 ***
origin_hex1686       1.5647060  0.0252002    62.091  < 2e-16 ***
origin_hex1687       1.1229489  0.0256742    43.738  < 2e-16 ***
origin_hex1688       0.7111459  0.0259463    27.408  < 2e-16 ***
origin_hex1689       0.2004757  0.0273515     7.330 2.31e-13 ***
origin_hex1690       1.5650946  0.0254636    61.464  < 2e-16 ***
origin_hex1691       2.3819638  0.0250297    95.166  < 2e-16 ***
origin_hex1692       1.8603529  0.0258838    71.873  < 2e-16 ***
origin_hex1706       1.6412057  0.0253844    64.654  < 2e-16 ***
origin_hex1707       1.4243946  0.0251344    56.671  < 2e-16 ***
origin_hex1708       2.0225996  0.0249800    80.969  < 2e-16 ***
origin_hex1709       1.1132918  0.0254907    43.674  < 2e-16 ***
origin_hex1710       2.3390241  0.0249943    93.582  < 2e-16 ***
origin_hex1711       2.0296225  0.0251276    80.773  < 2e-16 ***
origin_hex1712       2.7055199  0.0248806   108.740  < 2e-16 ***
origin_hex1713       0.3656763  0.0275295    13.283  < 2e-16 ***
origin_hex1714       2.8628437  0.0250793   114.152  < 2e-16 ***
origin_hex172       -0.1125550  0.0805131    -1.398 0.162122    
origin_hex1727       1.7605036  0.0251810    69.914  < 2e-16 ***
origin_hex1728       1.6779836  0.0250978    66.858  < 2e-16 ***
origin_hex1729       1.1527533  0.0252665    45.624  < 2e-16 ***
origin_hex1730      -0.7888819  0.0317383   -24.856  < 2e-16 ***
origin_hex1731       1.6346244  0.0252284    64.793  < 2e-16 ***
origin_hex1732       2.4490376  0.0249216    98.270  < 2e-16 ***
origin_hex1733       2.0998771  0.0250504    83.826  < 2e-16 ***
origin_hex1734       2.3080311  0.0250290    92.214  < 2e-16 ***
origin_hex1735       3.6620302  0.0254845   143.696  < 2e-16 ***
origin_hex174       -2.5352929  0.0540534   -46.903  < 2e-16 ***
origin_hex1748       0.3247978  0.0263314    12.335  < 2e-16 ***
origin_hex1749       1.4189008  0.0251436    56.432  < 2e-16 ***
origin_hex175        0.6621930  0.0278931    23.740  < 2e-16 ***
origin_hex1750       0.6401362  0.0256647    24.942  < 2e-16 ***
origin_hex1751       0.0208282  0.0268009     0.777 0.437072    
origin_hex1753       2.2596340  0.0249608    90.527  < 2e-16 ***
origin_hex1754       2.7505516  0.0248772   110.565  < 2e-16 ***
origin_hex1755       2.1967435  0.0250406    87.727  < 2e-16 ***
origin_hex1756       2.1287341  0.0252193    84.409  < 2e-16 ***
origin_hex1757       0.1936952  0.0348672     5.555 2.77e-08 ***
origin_hex176        2.0766525  0.0260606    79.685  < 2e-16 ***
origin_hex1769       1.3306814  0.0252998    52.597  < 2e-16 ***
origin_hex1770       0.9335395  0.0264543    35.289  < 2e-16 ***
origin_hex1771      -0.0088957  0.0265801    -0.335 0.737869    
origin_hex1772      -1.0562745  0.0343155   -30.781  < 2e-16 ***
origin_hex1774       2.2019279  0.0250192    88.009  < 2e-16 ***
origin_hex1775       1.7357122  0.0252383    68.773  < 2e-16 ***
origin_hex1776       2.8744247  0.0248945   115.464  < 2e-16 ***
origin_hex1777       3.0592795  0.0249808   122.465  < 2e-16 ***
origin_hex1778       2.6122655  0.0266236    98.119  < 2e-16 ***
origin_hex1790       1.9756985  0.0251224    78.643  < 2e-16 ***
origin_hex1791       1.1818428  0.0254413    46.454  < 2e-16 ***
origin_hex1792       1.4171568  0.0255102    55.552  < 2e-16 ***
origin_hex1793      -0.7473075  0.0280749   -26.618  < 2e-16 ***
origin_hex1794      -1.2341257  0.0371927   -33.182  < 2e-16 ***
origin_hex1795      -1.2947082  0.0410025   -31.576  < 2e-16 ***
origin_hex1796       2.5796856  0.0250089   103.151  < 2e-16 ***
origin_hex1797       2.6099445  0.0249615   104.559  < 2e-16 ***
origin_hex1798       2.7252000  0.0249654   109.159  < 2e-16 ***
origin_hex1799       1.5640868  0.0260196    60.112  < 2e-16 ***
origin_hex1800       0.4966604  0.0375769    13.217  < 2e-16 ***
origin_hex1811       1.1030075  0.0256916    42.933  < 2e-16 ***
origin_hex1812       2.2308013  0.0249187    89.523  < 2e-16 ***
origin_hex1813       1.9073687  0.0249726    76.379  < 2e-16 ***
origin_hex1817       2.3522082  0.0252090    93.308  < 2e-16 ***
origin_hex1818       2.5391851  0.0250442   101.388  < 2e-16 ***
origin_hex1819       3.0246644  0.0249369   121.293  < 2e-16 ***
origin_hex1820      -0.1233590  0.0422744    -2.918 0.003522 ** 
origin_hex1832       1.8039645  0.0252001    71.586  < 2e-16 ***
origin_hex1833       1.4155688  0.0253471    55.847  < 2e-16 ***
origin_hex1834       1.6011804  0.0250836    63.834  < 2e-16 ***
origin_hex1835       0.9065157  0.0257114    35.257  < 2e-16 ***
origin_hex1837      -2.0385385  0.0657687   -30.996  < 2e-16 ***
origin_hex1839       2.1396397  0.0255111    83.871  < 2e-16 ***
origin_hex1840       3.7753514  0.0248210   152.103  < 2e-16 ***
origin_hex1841      -0.4034219  0.0423848    -9.518  < 2e-16 ***
origin_hex1842       3.2692673  0.0269510   121.304  < 2e-16 ***
origin_hex1853       1.6955746  0.0251436    67.436  < 2e-16 ***
origin_hex1854       1.9948527  0.0250899    79.508  < 2e-16 ***
origin_hex1855       2.2801490  0.0250089    91.174  < 2e-16 ***
origin_hex1858       0.0203325  0.0353483     0.575 0.565153    
origin_hex1860       3.3934607  0.0260495   130.270  < 2e-16 ***
origin_hex1861       2.4262970  0.0250933    96.691  < 2e-16 ***
origin_hex1874       2.0085929  0.0253648    79.188  < 2e-16 ***
origin_hex1875       0.1139840  0.0276250     4.126 3.69e-05 ***
origin_hex1876       2.3129829  0.0267083    86.602  < 2e-16 ***
origin_hex1877       1.8761921  0.0251139    74.707  < 2e-16 ***
origin_hex1880      -1.5098766  0.0563834   -26.779  < 2e-16 ***
origin_hex1882       2.6159508  0.0251376   104.065  < 2e-16 ***
origin_hex1883       2.8973496  0.0261998   110.587  < 2e-16 ***
origin_hex1895       2.0236563  0.0250930    80.646  < 2e-16 ***
origin_hex1896       0.3154727  0.0264834    11.912  < 2e-16 ***
origin_hex1897       0.9548835  0.0261997    36.446  < 2e-16 ***
origin_hex1898      -3.1813914  0.1347557   -23.609  < 2e-16 ***
origin_hex1901      -1.5517045  0.0638966   -24.285  < 2e-16 ***
origin_hex1903       1.8929495  0.0261657    72.345  < 2e-16 ***
origin_hex1917       0.6381010  0.0262294    24.328  < 2e-16 ***
origin_hex1918       2.4575839  0.0253057    97.116  < 2e-16 ***
origin_hex1919       1.9298841  0.0251769    76.653  < 2e-16 ***
origin_hex1922      -0.2950634  0.0375991    -7.848 4.24e-15 ***
origin_hex1924       1.8034578  0.0263490    68.445  < 2e-16 ***
origin_hex1937       1.2774075  0.0255479    50.001  < 2e-16 ***
origin_hex1938       1.8850947  0.0250516    75.248  < 2e-16 ***
origin_hex1939       2.8494222  0.0249952   113.999  < 2e-16 ***
origin_hex1942      -1.6806124  0.0531210   -31.637  < 2e-16 ***
origin_hex195       -2.4704790  0.0850341   -29.053  < 2e-16 ***
origin_hex1959       0.9482997  0.0260556    36.395  < 2e-16 ***
origin_hex196       -1.5171420  0.0490463   -30.933  < 2e-16 ***
origin_hex1960       2.8722302  0.0248322   115.665  < 2e-16 ***
origin_hex1961       1.3878766  0.0255540    54.312  < 2e-16 ***
origin_hex1962       2.2180276  0.0250368    88.591  < 2e-16 ***
origin_hex1964      -2.5091485  0.0915371   -27.411  < 2e-16 ***
origin_hex197       -2.0946115  0.1127635   -18.575  < 2e-16 ***
origin_hex1979       1.1680235  0.0258177    45.241  < 2e-16 ***
origin_hex1980      -0.6666170  0.0281328   -23.695  < 2e-16 ***
origin_hex1981       2.0499122  0.0250388    81.869  < 2e-16 ***
origin_hex1982       1.0021533  0.0268795    37.283  < 2e-16 ***
origin_hex1983       2.2375554  0.0250437    89.346  < 2e-16 ***
origin_hex1984       1.0897135  0.0257383    42.338  < 2e-16 ***
origin_hex1985       1.5753692  0.0254257    61.960  < 2e-16 ***
origin_hex2001       1.5495666  0.0253231    61.192  < 2e-16 ***
origin_hex2002       2.0664455  0.0249498    82.824  < 2e-16 ***
origin_hex2003       1.6995711  0.0251663    67.534  < 2e-16 ***
origin_hex2004       2.5608430  0.0250126   102.382  < 2e-16 ***
origin_hex2005       2.3884590  0.0250102    95.499  < 2e-16 ***
origin_hex2006       0.9733600  0.0262697    37.053  < 2e-16 ***
origin_hex2007      -0.3053902  0.0292959   -10.424  < 2e-16 ***
origin_hex2022       1.8561347  0.0253127    73.328  < 2e-16 ***
origin_hex2023       2.3226631  0.0249371    93.141  < 2e-16 ***
origin_hex2024       1.7750985  0.0251020    70.715  < 2e-16 ***
origin_hex2025       1.8924984  0.0250841    75.446  < 2e-16 ***
origin_hex2026       0.4668340  0.0271821    17.174  < 2e-16 ***
origin_hex2027       2.6709423  0.0249842   106.905  < 2e-16 ***
origin_hex2043       1.0942740  0.0257791    42.448  < 2e-16 ***
origin_hex2044       1.9658649  0.0250159    78.585  < 2e-16 ***
origin_hex2045      -3.0341643  0.0783753   -38.713  < 2e-16 ***
origin_hex2046       2.0045183  0.0249643    80.295  < 2e-16 ***
origin_hex2047       1.7916592  0.0251811    71.151  < 2e-16 ***
origin_hex2048       2.0942601  0.0250857    83.484  < 2e-16 ***
origin_hex2049      -1.7376753  0.0284200   -61.143  < 2e-16 ***
origin_hex2064       2.0542074  0.0251278    81.750  < 2e-16 ***
origin_hex2065       0.4133106  0.0259954    15.899  < 2e-16 ***
origin_hex2066       0.2332743  0.0320811     7.271 3.56e-13 ***
origin_hex2067       3.1381282  0.0248151   126.460  < 2e-16 ***
origin_hex2068       1.6871573  0.0255712    65.979  < 2e-16 ***
origin_hex2069       1.7627432  0.0252652    69.770  < 2e-16 ***
origin_hex2085       0.5502362  0.0263296    20.898  < 2e-16 ***
origin_hex2086       2.2052759  0.0249937    88.233  < 2e-16 ***
origin_hex2087       1.0266839  0.0256521    40.023  < 2e-16 ***
origin_hex2088       1.8007129  0.0250720    71.822  < 2e-16 ***
origin_hex2089       1.1908155  0.0254962    46.706  < 2e-16 ***
origin_hex2090       2.8358892  0.0249024   113.880  < 2e-16 ***
origin_hex2091      -2.6997015  0.0723071   -37.337  < 2e-16 ***
origin_hex2105      -1.3700732  0.1040112   -13.172  < 2e-16 ***
origin_hex2106      -0.5705434  0.0309287   -18.447  < 2e-16 ***
origin_hex2107       0.3121434  0.0262836    11.876  < 2e-16 ***
origin_hex2108       1.7621918  0.0252380    69.823  < 2e-16 ***
origin_hex2109       1.3656809  0.0250720    54.470  < 2e-16 ***
origin_hex2110       1.2995969  0.0256579    50.651  < 2e-16 ***
origin_hex2111      -1.7423598  0.0463856   -37.563  < 2e-16 ***
origin_hex2128       0.0434532  0.0278351     1.561 0.118502    
origin_hex2129      -0.2804246  0.0285459    -9.824  < 2e-16 ***
origin_hex2130       2.0853799  0.0249933    83.438  < 2e-16 ***
origin_hex2131       2.1026744  0.0250727    83.863  < 2e-16 ***
origin_hex2132       1.5337436  0.0253514    60.499  < 2e-16 ***
origin_hex2148       0.6942954  0.0269803    25.733  < 2e-16 ***
origin_hex2149      -0.5861300  0.0290710   -20.162  < 2e-16 ***
origin_hex215       -1.4496231  0.0864291   -16.772  < 2e-16 ***
origin_hex2150       1.6575101  0.0251479    65.911  < 2e-16 ***
origin_hex2151       2.4882457  0.0249073    99.900  < 2e-16 ***
origin_hex2152       2.7187916  0.0249431   109.000  < 2e-16 ***
origin_hex2153       1.7679409  0.0252786    69.938  < 2e-16 ***
origin_hex216        2.9492471  0.0259721   113.554  < 2e-16 ***
origin_hex217       -0.8052628  0.0331182   -24.315  < 2e-16 ***
origin_hex2171       1.0851265  0.0256530    42.300  < 2e-16 ***
origin_hex2172       1.5519420  0.0258216    60.103  < 2e-16 ***
origin_hex2173       1.7258932  0.0251857    68.527  < 2e-16 ***
origin_hex2174       2.0127024  0.0252008    79.867  < 2e-16 ***
origin_hex2191       0.6204281  0.0267610    23.184  < 2e-16 ***
origin_hex2192       0.3756401  0.0268734    13.978  < 2e-16 ***
origin_hex2193       1.4056656  0.0253843    55.375  < 2e-16 ***
origin_hex2194       1.7909740  0.0251624    71.177  < 2e-16 ***
origin_hex2195       1.3151932  0.0317265    41.454  < 2e-16 ***
origin_hex2212      -1.7789521  0.0836230   -21.273  < 2e-16 ***
origin_hex2213      -1.7430523  0.0453729   -38.416  < 2e-16 ***
origin_hex2214      -1.2299517  0.0349757   -35.166  < 2e-16 ***
origin_hex2215       1.4743349  0.0255994    57.593  < 2e-16 ***
origin_hex2216       0.5481960  0.0268511    20.416  < 2e-16 ***
origin_hex2233      -1.5874487  0.0460710   -34.457  < 2e-16 ***
origin_hex2234      -1.2174328  0.0321721   -37.841  < 2e-16 ***
origin_hex2235       0.3233091  0.0278865    11.594  < 2e-16 ***
origin_hex2236       0.1448023  0.0276686     5.233 1.66e-07 ***
origin_hex2237      -1.7859262  0.0589094   -30.317  < 2e-16 ***
origin_hex2256      -3.9752920  0.0563301   -70.571  < 2e-16 ***
origin_hex2257      -0.0972844  0.0308607    -3.152 0.001620 ** 
origin_hex2258      -0.7929278  0.0302930   -26.175  < 2e-16 ***
origin_hex2259      -1.1162213  0.0432457   -25.811  < 2e-16 ***
origin_hex2277      -0.3242203  0.0463780    -6.991 2.73e-12 ***
origin_hex2278       0.6085843  0.0288388    21.103  < 2e-16 ***
origin_hex2279      -0.7448597  0.0311868   -23.884  < 2e-16 ***
origin_hex2280      -2.9325861  0.1036302   -28.299  < 2e-16 ***
origin_hex2297       1.7233281  0.0261552    65.889  < 2e-16 ***
origin_hex23        -2.0553266  0.1033543   -19.886  < 2e-16 ***
origin_hex2300      -1.8281005  0.0644228   -28.377  < 2e-16 ***
origin_hex2301      -0.5032005  0.0307196   -16.380  < 2e-16 ***
origin_hex2318      -0.0826860  0.0306512    -2.698 0.006983 ** 
origin_hex2319       0.5923877  0.0267453    22.149  < 2e-16 ***
origin_hex2322       0.5351529  0.0275015    19.459  < 2e-16 ***
origin_hex2337       1.5573818  0.0299291    52.036  < 2e-16 ***
origin_hex2341       1.2871881  0.0262751    48.989  < 2e-16 ***
origin_hex2343       0.0139103  0.0283759     0.490 0.623982    
origin_hex2361      -0.0026747  0.0269361    -0.099 0.920901    
origin_hex2364      -2.7004924  0.0690482   -39.110  < 2e-16 ***
origin_hex237       -2.8710984  0.1582483   -18.143  < 2e-16 ***
origin_hex2379       0.8519766  0.0316799    26.893  < 2e-16 ***
origin_hex238       -1.2031069  0.0569249   -21.135  < 2e-16 ***
origin_hex2384       0.3224301  0.0286278    11.263  < 2e-16 ***
origin_hex239       -1.9796779  0.1601840   -12.359  < 2e-16 ***
origin_hex2405      -0.2121042  0.0287121    -7.387 1.50e-13 ***
origin_hex2406      -1.7077806  0.0413989   -41.252  < 2e-16 ***
origin_hex2426      -0.3249976  0.0362705    -8.960  < 2e-16 ***
origin_hex2427       0.4714389  0.0269939    17.465  < 2e-16 ***
origin_hex2505       0.6723879  0.0443492    15.161  < 2e-16 ***
origin_hex257       -2.2439028  0.0621331   -36.114  < 2e-16 ***
origin_hex258       -0.5668883  0.0370469   -15.302  < 2e-16 ***
origin_hex259       -1.4489027  0.0478306   -30.292  < 2e-16 ***
origin_hex278       -1.0949131  0.0464025   -23.596  < 2e-16 ***
origin_hex279       -1.8422408  0.0497338   -37.042  < 2e-16 ***
origin_hex280       -1.8347489  0.0519875   -35.292  < 2e-16 ***
origin_hex298       -4.7108653  0.3345373   -14.082  < 2e-16 ***
origin_hex299       -2.2280707  0.0558070   -39.925  < 2e-16 ***
origin_hex300        1.5792650  0.0264729    59.656  < 2e-16 ***
origin_hex320       -2.9026051  0.0686628   -42.273  < 2e-16 ***
origin_hex321       -1.3395409  0.0757579   -17.682  < 2e-16 ***
origin_hex322       -0.7957469  0.0529790   -15.020  < 2e-16 ***
origin_hex340       -0.6582619  0.0376092   -17.503  < 2e-16 ***
origin_hex341       -2.3351528  0.0509744   -45.810  < 2e-16 ***
origin_hex342       -1.1614241  0.0482308   -24.081  < 2e-16 ***
origin_hex363       -0.8900518  0.0448055   -19.865  < 2e-16 ***
origin_hex364       -0.3220265  0.0365207    -8.818  < 2e-16 ***
origin_hex383       -1.1754181  0.0401061   -29.308  < 2e-16 ***
origin_hex384       -4.2210755  0.0578406   -72.978  < 2e-16 ***
origin_hex385       -0.4976245  0.0524180    -9.493  < 2e-16 ***
origin_hex404       -0.2109085  0.0425004    -4.963 6.96e-07 ***
origin_hex405       -1.9156970  0.0547396   -34.997  < 2e-16 ***
origin_hex406        3.3592633  0.0250846   133.917  < 2e-16 ***
origin_hex407       -0.8182729  0.0517607   -15.809  < 2e-16 ***
origin_hex408       -0.0792948  0.0336953    -2.353 0.018608 *  
origin_hex425       -2.8184540  0.0916255   -30.761  < 2e-16 ***
origin_hex426       -1.6408258  0.0386065   -42.501  < 2e-16 ***
origin_hex427       -1.3230052  0.0432551   -30.586  < 2e-16 ***
origin_hex428       -1.9167648  0.0817115   -23.458  < 2e-16 ***
origin_hex429       -0.5903488  0.0336292   -17.555  < 2e-16 ***
origin_hex44        -4.4574883  0.1425948   -31.260  < 2e-16 ***
origin_hex446       -1.9192679  0.0639389   -30.017  < 2e-16 ***
origin_hex447       -2.0525796  0.0510140   -40.236  < 2e-16 ***
origin_hex448       -0.5167058  0.0372461   -13.873  < 2e-16 ***
origin_hex449        2.1306831  0.0255282    83.464  < 2e-16 ***
origin_hex450       -0.5251122  0.0315811   -16.627  < 2e-16 ***
origin_hex46        -2.6252524  0.0914100   -28.720  < 2e-16 ***
origin_hex468       -0.2473540  0.0371650    -6.656 2.82e-11 ***
origin_hex469        0.0166682  0.0302675     0.551 0.581842    
origin_hex470        2.4206739  0.0251870    96.108  < 2e-16 ***
origin_hex471       -0.0196792  0.0297519    -0.661 0.508329    
origin_hex488       -2.6265282  0.0628427   -41.795  < 2e-16 ***
origin_hex489       -3.4423434  0.2512552   -13.701  < 2e-16 ***
origin_hex490        1.0408735  0.0272591    38.184  < 2e-16 ***
origin_hex491        1.4339863  0.0258713    55.428  < 2e-16 ***
origin_hex493       -3.1678646  0.1409181   -22.480  < 2e-16 ***
origin_hex494       -1.2085535  0.0639431   -18.900  < 2e-16 ***
origin_hex509       -1.7985236  0.0420673   -42.754  < 2e-16 ***
origin_hex510       -1.4605311  0.0351340   -41.570  < 2e-16 ***
origin_hex511        0.4771824  0.0269164    17.728  < 2e-16 ***
origin_hex512        2.7446353  0.0249476   110.016  < 2e-16 ***
origin_hex513       -0.4685181  0.0347675   -13.476  < 2e-16 ***
origin_hex514       -0.4531580  0.0443819   -10.210  < 2e-16 ***
origin_hex515       -1.9801222  0.1396492   -14.179  < 2e-16 ***
origin_hex530       -3.0492497  0.0846963   -36.002  < 2e-16 ***
origin_hex531       -0.6602182  0.0321565   -20.531  < 2e-16 ***
origin_hex532       -0.9247808  0.0338119   -27.351  < 2e-16 ***
origin_hex533        2.8716066  0.0249438   115.123  < 2e-16 ***
origin_hex534        3.4714904  0.0249665   139.046  < 2e-16 ***
origin_hex536        0.2155358  0.0352907     6.107 1.01e-09 ***
origin_hex537       -1.9547052  0.1396238   -14.000  < 2e-16 ***
origin_hex538       -2.1490335  0.2056583   -10.450  < 2e-16 ***
origin_hex539       -3.2253115  0.5788545    -5.572 2.52e-08 ***
origin_hex551       -2.7909584  0.0595192   -46.892  < 2e-16 ***
origin_hex552       -0.3382139  0.0442911    -7.636 2.24e-14 ***
origin_hex553       -0.7902179  0.0313345   -25.219  < 2e-16 ***
origin_hex554        2.2884381  0.0249771    91.621  < 2e-16 ***
origin_hex555        2.1324431  0.0256412    83.165  < 2e-16 ***
origin_hex559       -1.3679796  0.0967863   -14.134  < 2e-16 ***
origin_hex560        0.7531582  0.0535429    14.066  < 2e-16 ***
origin_hex572       -4.0794129  0.2252573   -18.110  < 2e-16 ***
origin_hex573       -2.0435180  0.0501971   -40.710  < 2e-16 ***
origin_hex574       -0.9775258  0.0437499   -22.343  < 2e-16 ***
origin_hex575        3.8067958  0.0247964   153.522  < 2e-16 ***
origin_hex576        2.3957950  0.0251773    95.157  < 2e-16 ***
origin_hex578       -2.3558224  0.1101212   -21.393  < 2e-16 ***
origin_hex582       -2.0883194  0.1101068   -18.966  < 2e-16 ***
origin_hex583       -2.1577969  0.1979927   -10.898  < 2e-16 ***
origin_hex584        0.7871959  0.0604994    13.012  < 2e-16 ***
origin_hex593       -1.3823946  0.0553964   -24.955  < 2e-16 ***
origin_hex594       -0.8443990  0.0359332   -23.499  < 2e-16 ***
origin_hex595       -0.8081952  0.0316431   -25.541  < 2e-16 ***
origin_hex596        2.1898030  0.0250448    87.435  < 2e-16 ***
origin_hex597       -0.8960247  0.0638800   -14.027  < 2e-16 ***
origin_hex603       -1.5241760  0.1116356   -13.653  < 2e-16 ***
origin_hex604       -3.0756554  0.2688572   -11.440  < 2e-16 ***
origin_hex615       -2.3198364  0.0504477   -45.985  < 2e-16 ***
origin_hex616       -1.2597719  0.0382071   -32.972  < 2e-16 ***
origin_hex617       -0.2984404  0.0301950    -9.884  < 2e-16 ***
origin_hex618        2.6719436  0.0249634   107.034  < 2e-16 ***
origin_hex620       -0.3806567  0.0408754    -9.313  < 2e-16 ***
origin_hex637       -1.5605444  0.0463545   -33.665  < 2e-16 ***
origin_hex638        2.2161466  0.0250200    88.575  < 2e-16 ***
origin_hex657        0.0433521  0.0296160     1.464 0.143247    
origin_hex658        1.5803948  0.0254756    62.036  < 2e-16 ***
origin_hex659        1.8395570  0.0252532    72.845  < 2e-16 ***
origin_hex66        -3.6380285  0.1292088   -28.156  < 2e-16 ***
origin_hex660        3.0389586  0.0248917   122.087  < 2e-16 ***
origin_hex662        2.8150013  0.0258217   109.017  < 2e-16 ***
origin_hex67        -0.7686427  0.0367413   -20.920  < 2e-16 ***
origin_hex677       -0.4177704  0.0335382   -12.457  < 2e-16 ***
origin_hex678       -2.0444370  0.0501396   -40.775  < 2e-16 ***
origin_hex679        2.8273720  0.0249405   113.365  < 2e-16 ***
origin_hex68        -2.9531333  0.1319041   -22.388  < 2e-16 ***
origin_hex680        3.1369497  0.0249316   125.822  < 2e-16 ***
origin_hex681        1.8772469  0.0260696    72.009  < 2e-16 ***
origin_hex699       -0.3644232  0.0331482   -10.994  < 2e-16 ***
origin_hex700        1.8220764  0.0253965    71.745  < 2e-16 ***
origin_hex701        1.5392594  0.0254346    60.518  < 2e-16 ***
origin_hex702        2.9629993  0.0249126   118.936  < 2e-16 ***
origin_hex704       -0.1806673  0.0403632    -4.476 7.60e-06 ***
origin_hex722       -0.1343072  0.0304684    -4.408 1.04e-05 ***
origin_hex725       -1.0000782  0.0500741   -19.972  < 2e-16 ***
origin_hex741        0.2202188  0.0296805     7.420 1.17e-13 ***
origin_hex743        0.1224351  0.0275661     4.442 8.93e-06 ***
origin_hex744        2.4588699  0.0250596    98.121  < 2e-16 ***
origin_hex761       -0.5030750  0.0369675   -13.609  < 2e-16 ***
origin_hex762        1.6735822  0.0256792    65.173  < 2e-16 ***
origin_hex763       -1.4979987  0.0370276   -40.456  < 2e-16 ***
origin_hex764        2.9141102  0.0248999   117.033  < 2e-16 ***
origin_hex765        1.8594042  0.0259805    71.569  < 2e-16 ***
origin_hex767        3.5908317  0.0249496   143.923  < 2e-16 ***
origin_hex772       -1.2348951  0.0762644   -16.192  < 2e-16 ***
origin_hex784       -1.0592556  0.0340369   -31.121  < 2e-16 ***
origin_hex785        1.9511553  0.0250461    77.903  < 2e-16 ***
origin_hex786        1.6861207  0.0253742    66.450  < 2e-16 ***
origin_hex787        2.1993682  0.0256974    85.587  < 2e-16 ***
origin_hex788        2.8433915  0.0252378   112.664  < 2e-16 ***
origin_hex789        0.4686303  0.0268078    17.481  < 2e-16 ***
origin_hex803       -2.2951423  0.0548750   -41.825  < 2e-16 ***
origin_hex804        2.5600135  0.0250332   102.265  < 2e-16 ***
origin_hex805        2.4409318  0.0249091    97.994  < 2e-16 ***
origin_hex806        2.1983667  0.0250613    87.719  < 2e-16 ***
origin_hex807        2.9894244  0.0250735   119.226  < 2e-16 ***
origin_hex808        1.2891261  0.0269740    47.791  < 2e-16 ***
origin_hex809        3.2620616  0.0249034   130.989  < 2e-16 ***
origin_hex810        2.3243786  0.0253074    91.846  < 2e-16 ***
origin_hex814        0.4938718  0.0371753    13.285  < 2e-16 ***
origin_hex819        1.0755606  0.0313579    34.300  < 2e-16 ***
origin_hex824       -1.2726305  0.0457226   -27.834  < 2e-16 ***
origin_hex826        0.0405204  0.0266063     1.523 0.127768    
origin_hex827        2.2528295  0.0249878    90.157  < 2e-16 ***
origin_hex828        2.6177391  0.0249456   104.938  < 2e-16 ***
origin_hex829        2.7539596  0.0250725   109.840  < 2e-16 ***
origin_hex830        3.0229391  0.0251985   119.965  < 2e-16 ***
origin_hex831        3.8106607  0.0247900   153.718  < 2e-16 ***
origin_hex832        2.8598206  0.0255311   112.013  < 2e-16 ***
origin_hex835       -0.2462981  0.0388203    -6.345 2.23e-10 ***
origin_hex844       -2.7661654  0.0818111   -33.812  < 2e-16 ***
origin_hex846        1.7018341  0.0252208    67.477  < 2e-16 ***
origin_hex847        0.6107017  0.0262194    23.292  < 2e-16 ***
origin_hex848        2.0174052  0.0251184    80.316  < 2e-16 ***
origin_hex849        1.0535112  0.0258841    40.701  < 2e-16 ***
origin_hex850        2.0959971  0.0252445    83.028  < 2e-16 ***
origin_hex851        2.7455729  0.0250016   109.816  < 2e-16 ***
origin_hex852        2.4574092  0.0254189    96.676  < 2e-16 ***
origin_hex853        3.6875122  0.0250743   147.063  < 2e-16 ***
origin_hex854        0.3335798  0.0360354     9.257  < 2e-16 ***
origin_hex855       -0.7468777  0.0500242   -14.930  < 2e-16 ***
origin_hex856        0.2463104  0.0314437     7.833 4.75e-15 ***
origin_hex86        -2.4243504  0.0796781   -30.427  < 2e-16 ***
origin_hex866       -0.7465489  0.0404565   -18.453  < 2e-16 ***
origin_hex867        0.6513656  0.0273394    23.825  < 2e-16 ***
origin_hex868       -0.2035735  0.0303059    -6.717 1.85e-11 ***
origin_hex869        2.6010365  0.0253607   102.562  < 2e-16 ***
origin_hex87        -2.3769453  0.0861209   -27.600  < 2e-16 ***
origin_hex870        3.0803143  0.0248379   124.017  < 2e-16 ***
origin_hex871        2.9109974  0.0254121   114.552  < 2e-16 ***
origin_hex872        0.9055614  0.0269022    33.661  < 2e-16 ***
origin_hex873        1.2449190  0.0266073    46.789  < 2e-16 ***
origin_hex874        0.8917086  0.0259596    34.350  < 2e-16 ***
origin_hex875       -1.9651878  0.0765542   -25.671  < 2e-16 ***
origin_hex876       -0.5537333  0.0400706   -13.819  < 2e-16 ***
origin_hex877       -1.0847833  0.0473861   -22.892  < 2e-16 ***
origin_hex88         0.0294941  0.0323970     0.910 0.362614    
origin_hex887        0.1232646  0.0280707     4.391 1.13e-05 ***
origin_hex888        1.6062931  0.0255797    62.796  < 2e-16 ***
origin_hex889       -1.5689296  0.0419142   -37.432  < 2e-16 ***
origin_hex89        -1.4533088  0.0563875   -25.774  < 2e-16 ***
origin_hex890        2.5493098  0.0249343   102.241  < 2e-16 ***
origin_hex891        0.6135031  0.0272081    22.549  < 2e-16 ***
origin_hex893        2.8034087  0.0249535   112.345  < 2e-16 ***
origin_hex894        0.8336945  0.0268578    31.041  < 2e-16 ***
origin_hex895        0.3654712  0.0288250    12.679  < 2e-16 ***
origin_hex896       -0.4528823  0.0352409   -12.851  < 2e-16 ***
origin_hex897       -2.2075413  0.0685450   -32.206  < 2e-16 ***
origin_hex898       -0.3601007  0.0383412    -9.392  < 2e-16 ***
origin_hex90        -1.5022064  0.1351815   -11.113  < 2e-16 ***
origin_hex908        1.3739696  0.0274663    50.024  < 2e-16 ***
origin_hex909        1.4555470  0.0252826    57.571  < 2e-16 ***
origin_hex910       -0.4539771  0.0300237   -15.121  < 2e-16 ***
origin_hex911        0.8968683  0.0261143    34.344  < 2e-16 ***
origin_hex912        2.1406519  0.0250209    85.554  < 2e-16 ***
origin_hex915        2.6270542  0.0250007   105.079  < 2e-16 ***
origin_hex917        1.9661808  0.0255503    76.953  < 2e-16 ***
origin_hex918       -1.0599611  0.0437474   -24.229  < 2e-16 ***
origin_hex919        1.1445662  0.0262591    43.587  < 2e-16 ***
origin_hex928        0.2364953  0.0282634     8.368  < 2e-16 ***
origin_hex929        1.7652526  0.0250994    70.330  < 2e-16 ***
origin_hex930        2.2289033  0.0248665    89.635  < 2e-16 ***
origin_hex931       -0.3076142  0.0297157   -10.352  < 2e-16 ***
origin_hex932       -0.1228697  0.0301952    -4.069 4.72e-05 ***
origin_hex933        2.3050872  0.0252579    91.262  < 2e-16 ***
origin_hex934       -0.2532802  0.0299885    -8.446  < 2e-16 ***
origin_hex935        3.4593310  0.0248126   139.418  < 2e-16 ***
origin_hex938       -4.3774872  0.2146487   -20.394  < 2e-16 ***
origin_hex939        3.4268863  0.0249541   137.328  < 2e-16 ***
origin_hex940       -2.2772345  0.0652028   -34.925  < 2e-16 ***
origin_hex949        0.2512705  0.0276718     9.080  < 2e-16 ***
origin_hex950        2.1844199  0.0251430    86.880  < 2e-16 ***
origin_hex951        2.9644348  0.0248148   119.462  < 2e-16 ***
origin_hex952        0.1925868  0.0322895     5.964 2.46e-09 ***
origin_hex953        1.2153535  0.0263572    46.111  < 2e-16 ***
origin_hex954       -0.2990816  0.0296858   -10.075  < 2e-16 ***
origin_hex955        2.0271218  0.0252556    80.264  < 2e-16 ***
origin_hex956        0.5303766  0.0270905    19.578  < 2e-16 ***
origin_hex957        2.5339591  0.0252618   100.308  < 2e-16 ***
origin_hex959       -0.9664793  0.0542066   -17.830  < 2e-16 ***
origin_hex961       -1.2914520  0.0386726   -33.394  < 2e-16 ***
origin_hex962        4.0799461  0.0254129   160.547  < 2e-16 ***
origin_hex970        0.7785543  0.0258758    30.088  < 2e-16 ***
origin_hex971        2.1085031  0.0249427    84.534  < 2e-16 ***
origin_hex972        1.5743764  0.0251050    62.712  < 2e-16 ***
origin_hex974        1.4676487  0.0256828    57.145  < 2e-16 ***
origin_hex975        1.1767612  0.0261432    45.012  < 2e-16 ***
origin_hex976       -0.3260703  0.0297400   -10.964  < 2e-16 ***
origin_hex977        3.0513676  0.0248926   122.581  < 2e-16 ***
origin_hex978        2.2846010  0.0260040    87.856  < 2e-16 ***
origin_hex982        0.1495075  0.0284875     5.248 1.54e-07 ***
origin_hex983        4.4970374  0.0249349   180.351  < 2e-16 ***
origin_hex984        2.8111675  0.0269333   104.375  < 2e-16 ***
origin_hex991        0.5854982  0.0262300    22.322  < 2e-16 ***
origin_hex992        1.1385430  0.0255670    44.532  < 2e-16 ***
origin_hex993        0.8632560  0.0257015    33.588  < 2e-16 ***
origin_hex994        0.2468573  0.0269027     9.176  < 2e-16 ***
origin_hex995        1.8095176  0.0252546    71.651  < 2e-16 ***
origin_hex996        0.8935613  0.0257789    34.663  < 2e-16 ***
origin_hex997       -0.0620752  0.0383745    -1.618 0.105746    
origin_hex998        2.9530337  0.0249230   118.486  < 2e-16 ***
origin_hex999        3.1343886  0.0253276   123.754  < 2e-16 ***
destination_hex1003  1.3172108  0.0158057    83.338  < 2e-16 ***
destination_hex1004  0.2079548  0.0162218    12.819  < 2e-16 ***
destination_hex1011  0.3169846  0.0195156    16.243  < 2e-16 ***
destination_hex1012  1.9171402  0.0165603   115.767  < 2e-16 ***
destination_hex1013  0.5506188  0.0172064    32.001  < 2e-16 ***
destination_hex1014 -1.1349626  0.0220730   -51.419  < 2e-16 ***
destination_hex1015  1.5404336  0.0160087    96.225  < 2e-16 ***
destination_hex1016  1.3402299  0.0159157    84.208  < 2e-16 ***
destination_hex1018 -0.5029292  0.0196054   -25.653  < 2e-16 ***
destination_hex1019 -0.0482940  0.0164554    -2.935 0.003337 ** 
destination_hex1023 -0.8579469  0.0202115   -42.448  < 2e-16 ***
destination_hex1024 -0.1823773  0.0167871   -10.864  < 2e-16 ***
destination_hex1025 -3.9664956  0.0664202   -59.718  < 2e-16 ***
destination_hex1033  0.8989300  0.0169004    53.190  < 2e-16 ***
destination_hex1034  1.5837647  0.0160959    98.396  < 2e-16 ***
destination_hex1035  1.3554043  0.0161697    83.824  < 2e-16 ***
destination_hex1036  1.7366393  0.0159241   109.057  < 2e-16 ***
destination_hex1037  0.3844110  0.0165621    23.210  < 2e-16 ***
destination_hex1043  0.6599528  0.0188049    35.095  < 2e-16 ***
destination_hex1045 -0.0705508  0.0165042    -4.275 1.91e-05 ***
destination_hex1046  0.5406780  0.0165168    32.735  < 2e-16 ***
destination_hex1053  1.6691200  0.0161681   103.236  < 2e-16 ***
destination_hex1054  1.3762195  0.0162234    84.829  < 2e-16 ***
destination_hex1055  0.3553220  0.0173904    20.432  < 2e-16 ***
destination_hex1056 -0.3179141  0.0189177   -16.805  < 2e-16 ***
destination_hex1064 -2.9308125  0.0884371   -33.140  < 2e-16 ***
destination_hex1066  1.0792850  0.0159771    67.552  < 2e-16 ***
destination_hex1067  0.9412921  0.0167716    56.124  < 2e-16 ***
destination_hex1074 -0.4907938  0.0205279   -23.909  < 2e-16 ***
destination_hex1075  1.2208454  0.0165885    73.596  < 2e-16 ***
destination_hex1076  0.5176698  0.0168495    30.723  < 2e-16 ***
destination_hex1077 -0.2116456  0.0184787   -11.453  < 2e-16 ***
destination_hex1079  0.6587363  0.0164929    39.941  < 2e-16 ***
destination_hex1085 -1.1246061  0.0582993   -19.290  < 2e-16 ***
destination_hex1087 -0.0039013  0.0166125    -0.235 0.814334    
destination_hex1088  0.7278843  0.0163934    44.401  < 2e-16 ***
destination_hex109   0.4923252  0.0302066    16.299  < 2e-16 ***
destination_hex1094 -3.3707259  0.0509734   -66.127  < 2e-16 ***
destination_hex1095  0.2437758  0.0206516    11.804  < 2e-16 ***
destination_hex1096  1.3338063  0.0215655    61.849  < 2e-16 ***
destination_hex1097  1.3964626  0.0160338    87.095  < 2e-16 ***
destination_hex1098 -1.2180701  0.0265562   -45.868  < 2e-16 ***
destination_hex1099  0.0007190  0.0172372     0.042 0.966729    
destination_hex110  -2.0266151  0.1020771   -19.854  < 2e-16 ***
destination_hex1105  2.0241651  0.0176428   114.731  < 2e-16 ***
destination_hex1106 -3.1201209  0.0862094   -36.192  < 2e-16 ***
destination_hex1107  0.0065874  0.0171668     0.384 0.701180    
destination_hex1108  2.6253695  0.0156301   167.969  < 2e-16 ***
destination_hex1109 -1.4791006  0.0260284   -56.827  < 2e-16 ***
destination_hex111   2.3461319  0.0199082   117.847  < 2e-16 ***
destination_hex1116  0.4465740  0.0176835    25.254  < 2e-16 ***
destination_hex1117  1.0424255  0.0169314    61.568  < 2e-16 ***
destination_hex1118 -0.8042104  0.0234164   -34.344  < 2e-16 ***
destination_hex1119 -0.2195258  0.0185140   -11.857  < 2e-16 ***
destination_hex112  -1.1207427  0.0343267   -32.649  < 2e-16 ***
destination_hex1120 -0.7882050  0.0226765   -34.759  < 2e-16 ***
destination_hex1129 -0.6090635  0.0173178   -35.170  < 2e-16 ***
destination_hex1130  0.3173352  0.0164604    19.279  < 2e-16 ***
destination_hex1131  1.7720930  0.0163428   108.432  < 2e-16 ***
destination_hex1136  1.6852748  0.0161546   104.321  < 2e-16 ***
destination_hex1138 -0.4399415  0.0227667   -19.324  < 2e-16 ***
destination_hex1139  0.0753753  0.0169345     4.451 8.55e-06 ***
destination_hex1141  0.1618463  0.0171884     9.416  < 2e-16 ***
destination_hex1148 -0.9569830  0.0329855   -29.012  < 2e-16 ***
destination_hex1149 -0.7383973  0.0203063   -36.363  < 2e-16 ***
destination_hex1150 -0.2514302  0.0168286   -14.941  < 2e-16 ***
destination_hex1151 -0.5260823  0.0169011   -31.127  < 2e-16 ***
destination_hex1158 -0.4469547  0.0186631   -23.949  < 2e-16 ***
destination_hex1159 -0.0793832  0.0177345    -4.476 7.60e-06 ***
destination_hex1160  1.5012552  0.0159937    93.866  < 2e-16 ***
destination_hex1171  0.5421685  0.0165517    32.756  < 2e-16 ***
destination_hex1172  1.8767980  0.0157933   118.835  < 2e-16 ***
destination_hex1173  1.3122368  0.0162966    80.522  < 2e-16 ***
destination_hex1174 -1.0596826  0.0443186   -23.911  < 2e-16 ***
destination_hex1178  1.8795700  0.0158727   118.415  < 2e-16 ***
destination_hex1179  0.9862717  0.0162822    60.574  < 2e-16 ***
destination_hex1180  1.0094120  0.0162078    62.279  < 2e-16 ***
destination_hex1181 -0.0830573  0.0177945    -4.668 3.05e-06 ***
destination_hex1183  1.2530177  0.0161535    77.569  < 2e-16 ***
destination_hex1190 -0.9972057  0.0325319   -30.653  < 2e-16 ***
destination_hex1192  0.5208361  0.0164116    31.736  < 2e-16 ***
destination_hex1193  0.5307619  0.0164021    32.359  < 2e-16 ***
destination_hex1194  1.0630318  0.0165960    64.054  < 2e-16 ***
destination_hex1200  0.7514271  0.0169703    44.279  < 2e-16 ***
destination_hex1201  0.4040041  0.0170659    23.673  < 2e-16 ***
destination_hex1203  0.3316206  0.0173357    19.129  < 2e-16 ***
destination_hex1204  0.0324797  0.0177078     1.834 0.066624 .  
destination_hex1211 -4.1449942  0.2779782   -14.911  < 2e-16 ***
destination_hex1214 -0.4077865  0.0176497   -23.104  < 2e-16 ***
destination_hex1215  0.0048988  0.0190203     0.258 0.796751    
destination_hex1216  0.6367410  0.0184180    34.572  < 2e-16 ***
destination_hex1220  0.9694596  0.0165684    58.513  < 2e-16 ***
destination_hex1221  1.3319284  0.0160013    83.239  < 2e-16 ***
destination_hex1222  0.1039030  0.0197508     5.261 1.44e-07 ***
destination_hex1223 -0.2342446  0.0189730   -12.346  < 2e-16 ***
destination_hex1224  0.3160104  0.0173102    18.256  < 2e-16 ***
destination_hex1231 -1.8407455  0.0593230   -31.029  < 2e-16 ***
destination_hex1232 -0.3564051  0.0288571   -12.351  < 2e-16 ***
destination_hex1235  0.4781354  0.0165820    28.835  < 2e-16 ***
destination_hex1236  0.3572096  0.0175400    20.365  < 2e-16 ***
destination_hex1241 -0.5465714  0.0192637   -28.373  < 2e-16 ***
destination_hex1242 -0.0844833  0.0178221    -4.740 2.13e-06 ***
destination_hex1243  1.0599264  0.0162827    65.095  < 2e-16 ***
destination_hex1246 -0.0995321  0.0175885    -5.659 1.52e-08 ***
destination_hex1256 -0.7930401  0.0186627   -42.493  < 2e-16 ***
destination_hex1257  0.8535783  0.0166736    51.193  < 2e-16 ***
destination_hex1258  1.4559855  0.0163652    88.968  < 2e-16 ***
destination_hex1262 -0.4877317  0.0198755   -24.539  < 2e-16 ***
destination_hex1263  1.4875933  0.0158608    93.790  < 2e-16 ***
destination_hex1264  0.8941163  0.0171290    52.199  < 2e-16 ***
destination_hex1265  0.6505100  0.0172488    37.713  < 2e-16 ***
destination_hex1266  0.6966917  0.0168437    41.362  < 2e-16 ***
destination_hex1267 -0.7700419  0.0223204   -34.499  < 2e-16 ***
destination_hex1272 -4.3919586  0.1122205   -39.137  < 2e-16 ***
destination_hex1273  0.5332166  0.0170718    31.234  < 2e-16 ***
destination_hex1277  0.7372219  0.0161450    45.662  < 2e-16 ***
destination_hex1278  0.3975875  0.0167002    23.807  < 2e-16 ***
destination_hex128   2.3096004  0.0291022    79.362  < 2e-16 ***
destination_hex1283  2.0754089  0.0158419   131.008  < 2e-16 ***
destination_hex1284  1.5350397  0.0159534    96.220  < 2e-16 ***
destination_hex1285  1.2312035  0.0161125    76.413  < 2e-16 ***
destination_hex1286  0.3342341  0.0182323    18.332  < 2e-16 ***
destination_hex1289 -2.1228406  0.0425684   -49.869  < 2e-16 ***
destination_hex129  -2.6267368  0.1148684   -22.867  < 2e-16 ***
destination_hex1293 -3.5505997  0.0759551   -46.746  < 2e-16 ***
destination_hex1294  0.5546188  0.0176717    31.385  < 2e-16 ***
destination_hex1295 -1.8086447  0.0270727   -66.807  < 2e-16 ***
destination_hex1298  0.0662529  0.0167583     3.953 7.70e-05 ***
destination_hex1299 -0.3421591  0.0178784   -19.138  < 2e-16 ***
destination_hex130   0.4919173  0.0273925    17.958  < 2e-16 ***
destination_hex1304  0.9716094  0.0165467    58.719  < 2e-16 ***
destination_hex1305  1.0213193  0.0160442    63.657  < 2e-16 ***
destination_hex1307 -0.5687351  0.0247204   -23.007  < 2e-16 ***
destination_hex1308  0.6603625  0.0165399    39.925  < 2e-16 ***
destination_hex131   0.0886912  0.0295248     3.004 0.002665 ** 
destination_hex1310 -4.2544601  0.1896237   -22.436  < 2e-16 ***
destination_hex1316 -1.4306618  0.0221041   -64.724  < 2e-16 ***
destination_hex1317 -1.5676836  0.0202822   -77.293  < 2e-16 ***
destination_hex1318 -1.4384370  0.0220989   -65.091  < 2e-16 ***
destination_hex1319  1.2620996  0.0159223    79.266  < 2e-16 ***
destination_hex132   0.9104291  0.0224734    40.511  < 2e-16 ***
destination_hex1320 -0.7631132  0.0205042   -37.217  < 2e-16 ***
destination_hex1324  1.1453366  0.0219459    52.189  < 2e-16 ***
destination_hex1325 -0.8609091  0.0209582   -41.077  < 2e-16 ***
destination_hex1326  0.6158175  0.0164334    37.473  < 2e-16 ***
destination_hex1327  0.9148328  0.0163217    56.050  < 2e-16 ***
destination_hex1328  0.7732251  0.0167311    46.215  < 2e-16 ***
destination_hex1329  0.6168082  0.0176648    34.917  < 2e-16 ***
destination_hex133   0.4461823  0.0205380    21.725  < 2e-16 ***
destination_hex1330  1.8115970  0.0162717   111.334  < 2e-16 ***
destination_hex1331 -4.3491945  0.2586735   -16.813  < 2e-16 ***
destination_hex1333 -1.0403194  0.0223952   -46.453  < 2e-16 ***
destination_hex1334 -0.5981769  0.0202536   -29.534  < 2e-16 ***
destination_hex1335  1.2809716  0.0164298    77.966  < 2e-16 ***
destination_hex1336 -2.7496744  0.0579629   -47.439  < 2e-16 ***
destination_hex1337 -2.4034905  0.0331812   -72.435  < 2e-16 ***
destination_hex1338 -2.4312423  0.0307824   -78.982  < 2e-16 ***
destination_hex1339  1.0827466  0.0159519    67.876  < 2e-16 ***
destination_hex134  -0.4063735  0.0205640   -19.761  < 2e-16 ***
destination_hex1340 -0.2310439  0.0179772   -12.852  < 2e-16 ***
destination_hex1341 -3.7008716  0.0975009   -37.957  < 2e-16 ***
destination_hex1346  0.8511087  0.0170262    49.988  < 2e-16 ***
destination_hex1347  1.9046956  0.0159111   119.709  < 2e-16 ***
destination_hex1348  0.5810381  0.0167424    34.705  < 2e-16 ***
destination_hex1349  1.4113918  0.0163283    86.438  < 2e-16 ***
destination_hex1350 -0.1661958  0.0198790    -8.360  < 2e-16 ***
destination_hex1353  0.3438508  0.0169642    20.269  < 2e-16 ***
destination_hex1354 -0.6066943  0.0195453   -31.040  < 2e-16 ***
destination_hex1355 -0.4077465  0.0190088   -21.450  < 2e-16 ***
destination_hex1357 -1.1062484  0.0241794   -45.752  < 2e-16 ***
destination_hex1358  1.1424284  0.0159463    71.642  < 2e-16 ***
destination_hex1359 -0.2082661  0.0168358   -12.370  < 2e-16 ***
destination_hex1360 -0.5340415  0.0171492   -31.141  < 2e-16 ***
destination_hex1361 -0.1536716  0.0178099    -8.628  < 2e-16 ***
destination_hex1362 -1.8613175  0.0329464   -56.495  < 2e-16 ***
destination_hex1368 -0.0750075  0.0178327    -4.206 2.60e-05 ***
destination_hex1369  0.0322172  0.0176495     1.825 0.067942 .  
destination_hex1370  1.5752948  0.0158967    99.096  < 2e-16 ***
destination_hex1371  0.5777732  0.0172313    33.530  < 2e-16 ***
destination_hex1372  0.5585805  0.0169595    32.936  < 2e-16 ***
destination_hex1373 -2.4097101  0.0365500   -65.929  < 2e-16 ***
destination_hex1374 -1.1510174  0.0230486   -49.939  < 2e-16 ***
destination_hex1375  1.0311369  0.0171678    60.062  < 2e-16 ***
destination_hex1376 -0.8813700  0.0229204   -38.453  < 2e-16 ***
destination_hex1379 -3.7274158  0.0651430   -57.219  < 2e-16 ***
destination_hex1380  1.8567513  0.0157250   118.076  < 2e-16 ***
destination_hex1381  1.9069058  0.0156963   121.487  < 2e-16 ***
destination_hex1382  1.2772531  0.0161355    79.158  < 2e-16 ***
destination_hex1383 -1.5826361  0.0249528   -63.425  < 2e-16 ***
destination_hex1388  0.6808945  0.0167080    40.753  < 2e-16 ***
destination_hex1389  0.3883928  0.0170566    22.771  < 2e-16 ***
destination_hex1390  0.6514572  0.0168165    38.739  < 2e-16 ***
destination_hex1391  1.2437319  0.0162352    76.607  < 2e-16 ***
destination_hex1392  0.6098080  0.0197747    30.838  < 2e-16 ***
destination_hex1393 -0.1554342  0.0176863    -8.788  < 2e-16 ***
destination_hex1394  0.4002995  0.0166796    23.999  < 2e-16 ***
destination_hex1395  0.1843459  0.0169928    10.848  < 2e-16 ***
destination_hex1396  0.9925907  0.0163507    60.706  < 2e-16 ***
destination_hex1397 -0.3458499  0.0172940   -19.998  < 2e-16 ***
destination_hex1398 -0.5031663  0.0207750   -24.220  < 2e-16 ***
destination_hex1400 -1.1258142  0.0191103   -58.911  < 2e-16 ***
destination_hex1401  0.8987602  0.0158580    56.675  < 2e-16 ***
destination_hex1402  0.1470833  0.0164237     8.956  < 2e-16 ***
destination_hex1404 -0.0846353  0.0268587    -3.151 0.001626 ** 
destination_hex1410  1.5845539  0.0159478    99.359  < 2e-16 ***
destination_hex1411  0.7976796  0.0169214    47.140  < 2e-16 ***
destination_hex1412  1.3401547  0.0160068    83.724  < 2e-16 ***
destination_hex1413  0.8950656  0.0163818    54.638  < 2e-16 ***
destination_hex1414  0.2057050  0.0165770    12.409  < 2e-16 ***
destination_hex1415  0.8160827  0.0163913    49.788  < 2e-16 ***
destination_hex1416  0.1126473  0.0172556     6.528 6.66e-11 ***
destination_hex1417  0.3495037  0.0164919    21.192  < 2e-16 ***
destination_hex1418  0.3458073  0.0165368    20.911  < 2e-16 ***
destination_hex1419 -0.0844568  0.0173016    -4.881 1.05e-06 ***
destination_hex1422 -0.1760185  0.0167114   -10.533  < 2e-16 ***
destination_hex1423  0.3911444  0.0163613    23.907  < 2e-16 ***
destination_hex1430  1.1467161  0.0162369    70.624  < 2e-16 ***
destination_hex1431  1.7740679  0.0158887   111.656  < 2e-16 ***
destination_hex1432  1.2815283  0.0160051    80.070  < 2e-16 ***
destination_hex1433  0.2781011  0.0180232    15.430  < 2e-16 ***
destination_hex1434  1.3466190  0.0160257    84.029  < 2e-16 ***
destination_hex1435  0.8489885  0.0161745    52.489  < 2e-16 ***
destination_hex1436 -0.2861292  0.0187810   -15.235  < 2e-16 ***
destination_hex1437  0.2045693  0.0167367    12.223  < 2e-16 ***
destination_hex1438  0.7464645  0.0160491    46.511  < 2e-16 ***
destination_hex1439  1.5870021  0.0158647   100.033  < 2e-16 ***
destination_hex1440  0.8102889  0.0166533    48.656  < 2e-16 ***
destination_hex1442 -1.9638990  0.0226509   -86.703  < 2e-16 ***
destination_hex1443 -0.5394550  0.0166484   -32.403  < 2e-16 ***
destination_hex1444  0.8217186  0.0166272    49.420  < 2e-16 ***
destination_hex1452  1.7479747  0.0158162   110.518  < 2e-16 ***
destination_hex1453  1.2291648  0.0162454    75.662  < 2e-16 ***
destination_hex1454  0.1213728  0.0190675     6.365 1.95e-10 ***
destination_hex1455  0.7297446  0.0169800    42.977  < 2e-16 ***
destination_hex1456  0.7172079  0.0165147    43.428  < 2e-16 ***
destination_hex1457  1.6146279  0.0161121   100.212  < 2e-16 ***
destination_hex1458  2.2748814  0.0156919   144.972  < 2e-16 ***
destination_hex1459 -0.5542605  0.0174632   -31.739  < 2e-16 ***
destination_hex1460  0.7738106  0.0160827    48.114  < 2e-16 ***
destination_hex1461  0.5323020  0.0168120    31.662  < 2e-16 ***
destination_hex1464 -0.9770407  0.0171080   -57.110  < 2e-16 ***
destination_hex1465 -1.2053545  0.0187175   -64.397  < 2e-16 ***
destination_hex1472  0.7936633  0.0170015    46.682  < 2e-16 ***
destination_hex1473  1.7720267  0.0159011   111.440  < 2e-16 ***
destination_hex1474  1.5294957  0.0158458    96.524  < 2e-16 ***
destination_hex1475  1.3939067  0.0160073    87.079  < 2e-16 ***
destination_hex1476  0.3142513  0.0170128    18.471  < 2e-16 ***
destination_hex1477  2.1073631  0.0156748   134.443  < 2e-16 ***
destination_hex1478  0.4108062  0.0163565    25.116  < 2e-16 ***
destination_hex1479 -0.2741396  0.0171661   -15.970  < 2e-16 ***
destination_hex1480  2.0199102  0.0156863   128.769  < 2e-16 ***
destination_hex1481  0.4370370  0.0165478    26.411  < 2e-16 ***
destination_hex1482  1.4534794  0.0162142    89.642  < 2e-16 ***
destination_hex1485 -1.5602686  0.0198968   -78.418  < 2e-16 ***
destination_hex1494  1.4215457  0.0160454    88.595  < 2e-16 ***
destination_hex1495  0.7064543  0.0165481    42.691  < 2e-16 ***
destination_hex1496  1.4308756  0.0158932    90.031  < 2e-16 ***
destination_hex1497  0.3530622  0.0170619    20.693  < 2e-16 ***
destination_hex1498  0.5566127  0.0166389    33.452  < 2e-16 ***
destination_hex1499  0.5390478  0.0161575    33.362  < 2e-16 ***
destination_hex150   0.6605642  0.0383715    17.215  < 2e-16 ***
destination_hex1500  0.4436409  0.0176032    25.202  < 2e-16 ***
destination_hex1501  1.0103492  0.0159720    63.258  < 2e-16 ***
destination_hex1502  0.8385124  0.0160765    52.158  < 2e-16 ***
destination_hex1506 -7.0220038  0.0649873  -108.052  < 2e-16 ***
destination_hex151   0.5506370  0.0268010    20.545  < 2e-16 ***
destination_hex1515  0.4502354  0.0206636    21.789  < 2e-16 ***
destination_hex1516  1.1842305  0.0159079    74.443  < 2e-16 ***
destination_hex1517  0.7235802  0.0167481    43.204  < 2e-16 ***
destination_hex1518 -0.0866060  0.0173279    -4.998 5.79e-07 ***
destination_hex1519 -0.1475244  0.0175424    -8.410  < 2e-16 ***
destination_hex152   1.9295719  0.0217189    88.843  < 2e-16 ***
destination_hex1520  0.0228332  0.0168922     1.352 0.176472    
destination_hex1521 -0.0298889  0.0171403    -1.744 0.081197 .  
destination_hex1522  0.7726082  0.0162101    47.662  < 2e-16 ***
destination_hex1523  1.6468497  0.0161004   102.286  < 2e-16 ***
destination_hex1524 -0.3698268  0.0192662   -19.196  < 2e-16 ***
destination_hex1527 -3.1200256  0.0325270   -95.921  < 2e-16 ***
destination_hex153   1.1280482  0.0214353    52.626  < 2e-16 ***
destination_hex1535  0.4905607  0.0581072     8.442  < 2e-16 ***
destination_hex1536 -0.4818132  0.0265804   -18.127  < 2e-16 ***
destination_hex1537  0.9716529  0.0165146    58.836  < 2e-16 ***
destination_hex1538  0.8881344  0.0162688    54.591  < 2e-16 ***
destination_hex1539  0.9668325  0.0161066    60.027  < 2e-16 ***
destination_hex154  -0.6679268  0.0311796   -21.422  < 2e-16 ***
destination_hex1540  0.2270522  0.0166072    13.672  < 2e-16 ***
destination_hex1541  0.2046667  0.0170539    12.001  < 2e-16 ***
destination_hex1542 -0.0442726  0.0181482    -2.440 0.014708 *  
destination_hex1543 -0.4373265  0.0300742   -14.542  < 2e-16 ***
destination_hex1544 -0.4166834  0.0178899   -23.292  < 2e-16 ***
destination_hex1547 -0.7241768  0.0214138   -33.818  < 2e-16 ***
destination_hex155  -0.1907460  0.0237418    -8.034 9.42e-16 ***
destination_hex1556  0.0250048  0.0631027     0.396 0.691917    
destination_hex1557 -0.1674141  0.0220482    -7.593 3.12e-14 ***
destination_hex1558  0.7474158  0.0197707    37.804  < 2e-16 ***
destination_hex1559  1.4431255  0.0159347    90.565  < 2e-16 ***
destination_hex156  -0.3752911  0.0253983   -14.776  < 2e-16 ***
destination_hex1560  1.4644068  0.0159161    92.008  < 2e-16 ***
destination_hex1561  0.6070434  0.0167530    36.235  < 2e-16 ***
destination_hex1562 -1.5901277  0.0227381   -69.932  < 2e-16 ***
destination_hex1563 -0.6077636  0.0179191   -33.917  < 2e-16 ***
destination_hex1564 -0.1483990  0.0174662    -8.496  < 2e-16 ***
destination_hex1565  0.3497902  0.0166525    21.005  < 2e-16 ***
destination_hex1566 -1.4678676  0.0224931   -65.258  < 2e-16 ***
destination_hex1567 -1.1823886  0.0232173   -50.927  < 2e-16 ***
destination_hex1568 -0.4540921  0.0196103   -23.156  < 2e-16 ***
destination_hex1578 -0.4969661  0.1017251    -4.885 1.03e-06 ***
destination_hex1580 -1.4035292  0.0282728   -49.642  < 2e-16 ***
destination_hex1581  1.0775712  0.0161468    66.736  < 2e-16 ***
destination_hex1582  1.0566951  0.0159578    66.218  < 2e-16 ***
destination_hex1583 -1.7843537  0.0253863   -70.288  < 2e-16 ***
destination_hex1584 -0.6179766  0.0195667   -31.583  < 2e-16 ***
destination_hex1585  0.2628045  0.0171992    15.280  < 2e-16 ***
destination_hex1586  0.8381884  0.0162858    51.467  < 2e-16 ***
destination_hex1589 -1.6126929  0.0265913   -60.647  < 2e-16 ***
destination_hex1590 -0.4580054  0.0203058   -22.555  < 2e-16 ***
destination_hex1600  0.2810439  0.0213049    13.191  < 2e-16 ***
destination_hex1601 -0.2920727  0.0170338   -17.147  < 2e-16 ***
destination_hex1602  0.6225098  0.0167720    37.116  < 2e-16 ***
destination_hex1603  1.3145488  0.0159646    82.341  < 2e-16 ***
destination_hex1604 -0.6647538  0.0185144   -35.905  < 2e-16 ***
destination_hex1605  0.0932577  0.0164763     5.660 1.51e-08 ***
destination_hex1606 -0.1856474  0.0203882    -9.106  < 2e-16 ***
destination_hex1607  0.8702813  0.0160452    54.239  < 2e-16 ***
destination_hex1608  0.1831310  0.0166653    10.989  < 2e-16 ***
destination_hex1609  0.6963191  0.0163070    42.701  < 2e-16 ***
destination_hex1610 -1.2822906  0.0305611   -41.958  < 2e-16 ***
destination_hex1622  0.8918411  0.0194426    45.871  < 2e-16 ***
destination_hex1623  1.0316759  0.0160384    64.325  < 2e-16 ***
destination_hex1624  1.4901815  0.0159376    93.501  < 2e-16 ***
destination_hex1625  0.7038204  0.0164355    42.823  < 2e-16 ***
destination_hex1626  2.3900934  0.0156481   152.740  < 2e-16 ***
destination_hex1627 -0.6336066  0.0177568   -35.683  < 2e-16 ***
destination_hex1628  1.5578910  0.0158697    98.168  < 2e-16 ***
destination_hex1629 -1.5770244  0.0208679   -75.572  < 2e-16 ***
destination_hex1630 -1.0968108  0.0192021   -57.119  < 2e-16 ***
destination_hex1631 -1.5439003  0.0243205   -63.481  < 2e-16 ***
destination_hex1642 -2.0351397  0.0356375   -57.107  < 2e-16 ***
destination_hex1643  0.5348126  0.0165082    32.397  < 2e-16 ***
destination_hex1644  0.5806086  0.0173866    33.394  < 2e-16 ***
destination_hex1645  0.4993657  0.0166526    29.987  < 2e-16 ***
destination_hex1646  0.7965789  0.0172447    46.193  < 2e-16 ***
destination_hex1647 -0.0802431  0.0165867    -4.838 1.31e-06 ***
destination_hex1648  0.0148274  0.0164891     0.899 0.368532    
destination_hex1649  0.7697347  0.0160145    48.065  < 2e-16 ***
destination_hex1650 -0.2190944  0.0171993   -12.739  < 2e-16 ***
destination_hex1664 -4.4764743  0.1173368   -38.151  < 2e-16 ***
destination_hex1665  1.1748420  0.0159783    73.527  < 2e-16 ***
destination_hex1666  1.2451956  0.0159779    77.932  < 2e-16 ***
destination_hex1667  0.0810286  0.0220772     3.670 0.000242 ***
destination_hex1668  0.0706859  0.0168354     4.199 2.69e-05 ***
destination_hex1670  0.4350216  0.0161225    26.982  < 2e-16 ***
destination_hex1671 -0.0268345  0.0186580    -1.438 0.150370    
destination_hex1672 -0.8572326  0.0193597   -44.279  < 2e-16 ***
destination_hex1684  0.5775331  0.0180930    31.920  < 2e-16 ***
destination_hex1685 -0.1508387  0.0176974    -8.523  < 2e-16 ***
destination_hex1686  0.5992865  0.0164690    36.389  < 2e-16 ***
destination_hex1687  0.7925077  0.0168537    47.023  < 2e-16 ***
destination_hex1688  0.1222121  0.0168232     7.265 3.74e-13 ***
destination_hex1689 -0.6440417  0.0181996   -35.388  < 2e-16 ***
destination_hex1690 -1.5135223  0.0198925   -76.085  < 2e-16 ***
destination_hex1691  0.5464886  0.0161083    33.926  < 2e-16 ***
destination_hex1692 -1.2472021  0.0205497   -60.692  < 2e-16 ***
destination_hex1706  0.4971716  0.0172169    28.877  < 2e-16 ***
destination_hex1707 -0.3617671  0.0174007   -20.790  < 2e-16 ***
destination_hex1708  0.3529779  0.0166322    21.223  < 2e-16 ***
destination_hex1709  0.9966738  0.0161283    61.797  < 2e-16 ***
destination_hex1710  0.8003842  0.0162596    49.225  < 2e-16 ***
destination_hex1711  1.4029498  0.0158600    88.458  < 2e-16 ***
destination_hex1712  0.4774259  0.0160555    29.736  < 2e-16 ***
destination_hex1713 -1.7810039  0.0216325   -82.330  < 2e-16 ***
destination_hex1714 -0.3670550  0.0174551   -21.029  < 2e-16 ***
destination_hex172  -0.5408365  0.0480496   -11.256  < 2e-16 ***
destination_hex1727  0.9756834  0.0163668    59.613  < 2e-16 ***
destination_hex1728  0.9523655  0.0160913    59.185  < 2e-16 ***
destination_hex1729  1.0609071  0.0160234    66.210  < 2e-16 ***
destination_hex1730 -0.3120655  0.0177173   -17.614  < 2e-16 ***
destination_hex1731  0.5229295  0.0162900    32.101  < 2e-16 ***
destination_hex1732  0.3560925  0.0161291    22.078  < 2e-16 ***
destination_hex1733 -0.7368215  0.0173966   -42.354  < 2e-16 ***
destination_hex1734  0.1895685  0.0162020    11.700  < 2e-16 ***
destination_hex1735 -0.8045707  0.0208655   -38.560  < 2e-16 ***
destination_hex174   0.7129797  0.0226440    31.486  < 2e-16 ***
destination_hex1748 -0.2527951  0.0177735   -14.223  < 2e-16 ***
destination_hex1749  1.1209143  0.0159559    70.251  < 2e-16 ***
destination_hex175   0.6809935  0.0195127    34.900  < 2e-16 ***
destination_hex1750  1.0156969  0.0160299    63.363  < 2e-16 ***
destination_hex1751  0.5911491  0.0166229    35.562  < 2e-16 ***
destination_hex1753  0.7098618  0.0161013    44.087  < 2e-16 ***
destination_hex1754  1.7868529  0.0156940   113.856  < 2e-16 ***
destination_hex1755  1.0068866  0.0158624    63.476  < 2e-16 ***
destination_hex1756 -0.1435823  0.0164309    -8.739  < 2e-16 ***
destination_hex1757 -2.5538701  0.0268390   -95.155  < 2e-16 ***
destination_hex176  -1.3694811  0.0353861   -38.701  < 2e-16 ***
destination_hex1769  0.4452735  0.0167189    26.633  < 2e-16 ***
destination_hex1770  0.4669318  0.0171257    27.265  < 2e-16 ***
destination_hex1771  1.0668358  0.0162321    65.724  < 2e-16 ***
destination_hex1772  2.3661934  0.0169648   139.476  < 2e-16 ***
destination_hex1774 -0.1053481  0.0169168    -6.227 4.74e-10 ***
destination_hex1775 -0.7451782  0.0173546   -42.938  < 2e-16 ***
destination_hex1776  1.5987498  0.0157191   101.708  < 2e-16 ***
destination_hex1777 -0.4782124  0.0171121   -27.946  < 2e-16 ***
destination_hex1778 -1.2066008  0.0212198   -56.862  < 2e-16 ***
destination_hex1790  1.2399110  0.0162296    76.398  < 2e-16 ***
destination_hex1791  0.5604823  0.0165021    33.964  < 2e-16 ***
destination_hex1792  0.6315823  0.0169980    37.156  < 2e-16 ***
destination_hex1793  0.6957636  0.0164542    42.285  < 2e-16 ***
destination_hex1794  2.4509222  0.0171491   142.918  < 2e-16 ***
destination_hex1795 -1.7311157  0.0264250   -65.511  < 2e-16 ***
destination_hex1796  0.3227680  0.0163753    19.711  < 2e-16 ***
destination_hex1797  0.0996416  0.0163915     6.079 1.21e-09 ***
destination_hex1798  0.2068659  0.0163115    12.682  < 2e-16 ***
destination_hex1799 -1.3667000  0.0186713   -73.198  < 2e-16 ***
destination_hex1800 -2.3431926  0.0527698   -44.404  < 2e-16 ***
destination_hex1811  0.3126507  0.0171666    18.213  < 2e-16 ***
destination_hex1812  1.5727323  0.0158252    99.382  < 2e-16 ***
destination_hex1813  1.7195803  0.0158048   108.801  < 2e-16 ***
destination_hex1817 -1.2269217  0.0194413   -63.109  < 2e-16 ***
destination_hex1818 -0.2946903  0.0166101   -17.742  < 2e-16 ***
destination_hex1819  1.5563467  0.0157609    98.747  < 2e-16 ***
destination_hex1820 -3.6516664  0.0446494   -81.785  < 2e-16 ***
destination_hex1832  1.5528563  0.0160084    97.002  < 2e-16 ***
destination_hex1833  0.2007202  0.0169305    11.856  < 2e-16 ***
destination_hex1834  0.0640055  0.0168499     3.799 0.000146 ***
destination_hex1835  0.2260435  0.0171395    13.188  < 2e-16 ***
destination_hex1837  0.0975939  0.0206673     4.722 2.33e-06 ***
destination_hex1839 -1.1033983  0.0192331   -57.370  < 2e-16 ***
destination_hex1840  1.5243295  0.0158052    96.445  < 2e-16 ***
destination_hex1841 -2.0235074  0.0272402   -74.284  < 2e-16 ***
destination_hex1842  0.0940814  0.0223495     4.210 2.56e-05 ***
destination_hex1853  0.5362167  0.0165111    32.476  < 2e-16 ***
destination_hex1854  0.8030999  0.0163212    49.206  < 2e-16 ***
destination_hex1855  1.1204556  0.0161262    69.481  < 2e-16 ***
destination_hex1858  1.0951615  0.0176515    62.043  < 2e-16 ***
destination_hex1860 -0.2430096  0.0236967   -10.255  < 2e-16 ***
destination_hex1861 -0.4877306  0.0167185   -29.173  < 2e-16 ***
destination_hex1874  0.2900860  0.0180358    16.084  < 2e-16 ***
destination_hex1875 -1.7487119  0.0250673   -69.761  < 2e-16 ***
destination_hex1876 -0.3795640  0.0267452   -14.192  < 2e-16 ***
destination_hex1877  0.8976684  0.0162191    55.346  < 2e-16 ***
destination_hex1880  0.2470164  0.0208642    11.839  < 2e-16 ***
destination_hex1882  0.0086345  0.0167216     0.516 0.605599    
destination_hex1883 -0.9368155  0.0246650   -37.982  < 2e-16 ***
destination_hex1895  0.8472301  0.0164018    51.655  < 2e-16 ***
destination_hex1896 -0.1125159  0.0173135    -6.499 8.10e-11 ***
destination_hex1897 -0.8703667  0.0193724   -44.928  < 2e-16 ***
destination_hex1898 -1.1634388  0.0283988   -40.968  < 2e-16 ***
destination_hex1901 -0.3766431  0.0260085   -14.482  < 2e-16 ***
destination_hex1903 -1.6360101  0.0230665   -70.926  < 2e-16 ***
destination_hex1917 -0.1180916  0.0177545    -6.651 2.90e-11 ***
destination_hex1918  1.3912286  0.0166635    83.490  < 2e-16 ***
destination_hex1919  1.0854224  0.0161357    67.268  < 2e-16 ***
destination_hex1922  0.8895111  0.0185394    47.980  < 2e-16 ***
destination_hex1924 -2.0607285  0.0242839   -84.860  < 2e-16 ***
destination_hex1937  0.2521704  0.0172313    14.634  < 2e-16 ***
destination_hex1938  1.0695114  0.0160931    66.458  < 2e-16 ***
destination_hex1939  0.1185838  0.0174456     6.797 1.07e-11 ***
destination_hex1942 -0.5722213  0.0252838   -22.632  < 2e-16 ***
destination_hex195  -1.4349487  0.0344125   -41.698  < 2e-16 ***
destination_hex1959 -0.0307889  0.0179817    -1.712 0.086854 .  
destination_hex196   0.5791457  0.0190969    30.327  < 2e-16 ***
destination_hex1960  2.3011739  0.0156654   146.895  < 2e-16 ***
destination_hex1961 -0.2789473  0.0184034   -15.157  < 2e-16 ***
destination_hex1962  0.2445529  0.0166655    14.674  < 2e-16 ***
destination_hex1964  1.1428098  0.0191654    59.629  < 2e-16 ***
destination_hex197  -2.0987424  0.0882229   -23.789  < 2e-16 ***
destination_hex1979  0.2497432  0.0176198    14.174  < 2e-16 ***
destination_hex1980 -0.0219652  0.0168305    -1.305 0.191863    
destination_hex1981 -0.1485405  0.0170992    -8.687  < 2e-16 ***
destination_hex1982  0.7843751  0.0170188    46.089  < 2e-16 ***
destination_hex1983  0.2510214  0.0166623    15.065  < 2e-16 ***
destination_hex1984  0.5010745  0.0166855    30.031  < 2e-16 ***
destination_hex1985  0.6243830  0.0164746    37.900  < 2e-16 ***
destination_hex2001  0.4009348  0.0168029    23.861  < 2e-16 ***
destination_hex2002  0.4934604  0.0162402    30.385  < 2e-16 ***
destination_hex2003  1.1118365  0.0160635    69.215  < 2e-16 ***
destination_hex2004  1.2429716  0.0160421    77.482  < 2e-16 ***
destination_hex2005  0.4238011  0.0166957    25.384  < 2e-16 ***
destination_hex2006  1.4122936  0.0161208    87.607  < 2e-16 ***
destination_hex2007 -2.6984091  0.0320756   -84.127  < 2e-16 ***
destination_hex2022  0.8959276  0.0167289    53.556  < 2e-16 ***
destination_hex2023  0.7952053  0.0161716    49.173  < 2e-16 ***
destination_hex2024  1.3098088  0.0159548    82.095  < 2e-16 ***
destination_hex2025  0.0261678  0.0167718     1.560 0.118707    
destination_hex2026 -0.6027883  0.0191301   -31.510  < 2e-16 ***
destination_hex2027  1.1713962  0.0161340    72.604  < 2e-16 ***
destination_hex2043 -0.5762089  0.0188999   -30.487  < 2e-16 ***
destination_hex2044  0.2853048  0.0166477    17.138  < 2e-16 ***
destination_hex2045  0.1999790  0.0195606    10.224  < 2e-16 ***
destination_hex2046  1.2797591  0.0158775    80.602  < 2e-16 ***
destination_hex2047 -0.5640520  0.0178986   -31.514  < 2e-16 ***
destination_hex2048 -0.2362411  0.0175515   -13.460  < 2e-16 ***
destination_hex2049 -4.6843126  0.0314986  -148.715  < 2e-16 ***
destination_hex2064  0.3432759  0.0170759    20.103  < 2e-16 ***
destination_hex2065  0.0835347  0.0172731     4.836 1.32e-06 ***
destination_hex2066 -1.8628332  0.0348786   -53.409  < 2e-16 ***
destination_hex2067  2.7230348  0.0156366   174.145  < 2e-16 ***
destination_hex2068 -0.3637224  0.0198710   -18.304  < 2e-16 ***
destination_hex2069 -0.0892169  0.0174835    -5.103 3.34e-07 ***
destination_hex2085 -0.1173690  0.0173690    -6.757 1.41e-11 ***
destination_hex2086  1.7717945  0.0159094   111.368  < 2e-16 ***
destination_hex2087  1.5296289  0.0159784    95.731  < 2e-16 ***
destination_hex2088  0.3805124  0.0164722    23.100  < 2e-16 ***
destination_hex2089 -0.5932443  0.0179423   -33.064  < 2e-16 ***
destination_hex2090  2.3937402  0.0156973   152.494  < 2e-16 ***
destination_hex2091 -3.7122970  0.0636800   -58.296  < 2e-16 ***
destination_hex2105  0.1308955  0.0771568     1.696 0.089793 .  
destination_hex2106 -0.9523853  0.0216252   -44.040  < 2e-16 ***
destination_hex2107  1.6645267  0.0159251   104.522  < 2e-16 ***
destination_hex2108  1.4554176  0.0161538    90.098  < 2e-16 ***
destination_hex2109 -0.2301655  0.0167575   -13.735  < 2e-16 ***
destination_hex2110 -0.7869864  0.0194740   -40.412  < 2e-16 ***
destination_hex2111 -2.4609555  0.0364026   -67.604  < 2e-16 ***
destination_hex2128  0.3235491  0.0180022    17.973  < 2e-16 ***
destination_hex2129  0.5145404  0.0183314    28.069  < 2e-16 ***
destination_hex2130 -0.1040681  0.0165688    -6.281 3.36e-10 ***
destination_hex2131  0.0357233  0.0171140     2.087 0.036855 *  
destination_hex2132  0.0206727  0.0171209     1.207 0.227259    
destination_hex2148 -0.2870025  0.0209472   -13.701  < 2e-16 ***
destination_hex2149 -0.2236372  0.0188318   -11.876  < 2e-16 ***
destination_hex215   0.6689809  0.0318270    21.019  < 2e-16 ***
destination_hex2150 -1.0768701  0.0175726   -61.281  < 2e-16 ***
destination_hex2151  1.8117804  0.0157895   114.746  < 2e-16 ***
destination_hex2152  0.8451418  0.0163144    51.803  < 2e-16 ***
destination_hex2153 -0.7952251  0.0191061   -41.621  < 2e-16 ***
destination_hex216   0.8798034  0.0226903    38.774  < 2e-16 ***
destination_hex217   0.6150031  0.0193103    31.848  < 2e-16 ***
destination_hex2171  1.2209516  0.0163750    74.562  < 2e-16 ***
destination_hex2172 -0.3590274  0.0191372   -18.761  < 2e-16 ***
destination_hex2173 -0.0078277  0.0171470    -0.457 0.648026    
destination_hex2174  0.3368043  0.0169395    19.883  < 2e-16 ***
destination_hex2191  1.4139761  0.0171505    82.445  < 2e-16 ***
destination_hex2192 -0.0480420  0.0187660    -2.560 0.010466 *  
destination_hex2193  0.6902849  0.0166366    41.492  < 2e-16 ***
destination_hex2194  0.4697051  0.0165438    28.392  < 2e-16 ***
destination_hex2195 -0.9308483  0.0373220   -24.941  < 2e-16 ***
destination_hex2212  1.0309843  0.0207960    49.576  < 2e-16 ***
destination_hex2213  0.9507879  0.0175211    54.265  < 2e-16 ***
destination_hex2214  2.1984962  0.0170552   128.905  < 2e-16 ***
destination_hex2215  0.1764155  0.0181039     9.745  < 2e-16 ***
destination_hex2216  1.0281764  0.0165740    62.035  < 2e-16 ***
destination_hex2233  1.5155170  0.0183560    82.563  < 2e-16 ***
destination_hex2234  2.2381155  0.0176543   126.775  < 2e-16 ***
destination_hex2235  0.5377217  0.0181513    29.624  < 2e-16 ***
destination_hex2236 -0.7714179  0.0205290   -37.577  < 2e-16 ***
destination_hex2237  1.1495247  0.0194819    59.005  < 2e-16 ***
destination_hex2256  0.8963630  0.0204461    43.840  < 2e-16 ***
destination_hex2257 -1.5303811  0.0303080   -50.494  < 2e-16 ***
destination_hex2258  0.6171034  0.0171577    35.967  < 2e-16 ***
destination_hex2259  1.6954966  0.0185852    91.229  < 2e-16 ***
destination_hex2277 -0.3305153  0.0291814   -11.326  < 2e-16 ***
destination_hex2278 -0.1631750  0.0221344    -7.372 1.68e-13 ***
destination_hex2279  0.8434823  0.0171330    49.231  < 2e-16 ***
destination_hex2280 -0.6963623  0.0355915   -19.565  < 2e-16 ***
destination_hex2297 -0.2339732  0.0223235   -10.481  < 2e-16 ***
destination_hex23    1.1887862  0.0492856    24.120  < 2e-16 ***
destination_hex2300 -0.1185496  0.0251279    -4.718 2.38e-06 ***
destination_hex2301  0.4058047  0.0183855    22.072  < 2e-16 ***
destination_hex2318  1.7714138  0.0164360   107.776  < 2e-16 ***
destination_hex2319  1.7829596  0.0163606   108.979  < 2e-16 ***
destination_hex2322  0.6754166  0.0181146    37.286  < 2e-16 ***
destination_hex2337  1.3957151  0.0237481    58.772  < 2e-16 ***
destination_hex2341  2.1360621  0.0162421   131.514  < 2e-16 ***
destination_hex2343 -0.0817071  0.0200175    -4.082 4.47e-05 ***
destination_hex2361  0.5990055  0.0179096    33.446  < 2e-16 ***
destination_hex2364 -1.0770680  0.0334147   -32.233  < 2e-16 ***
destination_hex237  -1.5378793  0.0330742   -46.498  < 2e-16 ***
destination_hex2379  0.1087527  0.0314172     3.462 0.000537 ***
destination_hex238  -0.5626943  0.0220277   -25.545  < 2e-16 ***
destination_hex2384  1.8268849  0.0168396   108.487  < 2e-16 ***
destination_hex239  -0.3392966  0.0338512   -10.023  < 2e-16 ***
destination_hex2405  2.4455714  0.0162994   150.040  < 2e-16 ***
destination_hex2406 -0.6056258  0.0285459   -21.216  < 2e-16 ***
destination_hex2426  1.8731381  0.0190866    98.139  < 2e-16 ***
destination_hex2427  2.1078528  0.0169454   124.391  < 2e-16 ***
destination_hex2505  1.7572989  0.0245537    71.570  < 2e-16 ***
destination_hex257   1.4702968  0.0220168    66.781  < 2e-16 ***
destination_hex258  -0.4275818  0.0250750   -17.052  < 2e-16 ***
destination_hex259   0.8524340  0.0199042    42.827  < 2e-16 ***
destination_hex278   1.6734308  0.0222928    75.066  < 2e-16 ***
destination_hex279   0.0811828  0.0203514     3.989 6.63e-05 ***
destination_hex280   0.7236260  0.0199812    36.215  < 2e-16 ***
destination_hex298  -3.0506335  0.1337826   -22.803  < 2e-16 ***
destination_hex299   0.1874716  0.0228622     8.200 2.40e-16 ***
destination_hex300   0.0553504  0.0229978     2.407 0.016094 *  
destination_hex320   1.5406277  0.0209157    73.659  < 2e-16 ***
destination_hex321  -0.1757215  0.0279125    -6.295 3.07e-10 ***
destination_hex322   0.7552687  0.0196158    38.503  < 2e-16 ***
destination_hex340   2.3810380  0.0193730   122.905  < 2e-16 ***
destination_hex341   0.9842925  0.0199303    49.387  < 2e-16 ***
destination_hex342   0.8913045  0.0186349    47.830  < 2e-16 ***
destination_hex363   0.5454352  0.0208499    26.160  < 2e-16 ***
destination_hex364   1.1973834  0.0175234    68.330  < 2e-16 ***
destination_hex383   1.4449415  0.0182762    79.061  < 2e-16 ***
destination_hex384  -2.1936378  0.0179599  -122.141  < 2e-16 ***
destination_hex385   0.1389370  0.0218336     6.363 1.97e-10 ***
destination_hex404   1.3785272  0.0217872    63.272  < 2e-16 ***
destination_hex405   0.7978607  0.0189640    42.072  < 2e-16 ***
destination_hex406   1.5982275  0.0163378    97.824  < 2e-16 ***
destination_hex407   1.1117219  0.0177232    62.727  < 2e-16 ***
destination_hex408   2.2935742  0.0162224   141.383  < 2e-16 ***
destination_hex425  -0.3918982  0.0284394   -13.780  < 2e-16 ***
destination_hex426  -0.8558084  0.0189432   -45.178  < 2e-16 ***
destination_hex427  -1.9879365  0.0278803   -71.303  < 2e-16 ***
destination_hex428   0.1429069  0.0187737     7.612 2.70e-14 ***
destination_hex429  -0.2498455  0.0275317    -9.075  < 2e-16 ***
destination_hex44    2.5053180  0.0277700    90.217  < 2e-16 ***
destination_hex446   0.5232877  0.0269868    19.390  < 2e-16 ***
destination_hex447  -0.1392964  0.0232752    -5.985 2.17e-09 ***
destination_hex448  -0.1026489  0.0193876    -5.295 1.19e-07 ***
destination_hex449  -0.5910395  0.0174412   -33.887  < 2e-16 ***
destination_hex450  -0.2252214  0.0195815   -11.502  < 2e-16 ***
destination_hex46    1.5559135  0.0259417    59.977  < 2e-16 ***
destination_hex468   0.4522894  0.0186447    24.258  < 2e-16 ***
destination_hex469  -0.5103317  0.0177032   -28.827  < 2e-16 ***
destination_hex470  -0.0947924  0.0170234    -5.568 2.57e-08 ***
destination_hex471   0.0971193  0.0221151     4.392 1.13e-05 ***
destination_hex488   0.3391002  0.0271950    12.469  < 2e-16 ***
destination_hex489  -1.6093622  0.0497386   -32.356  < 2e-16 ***
destination_hex490   0.4988041  0.0176754    28.220  < 2e-16 ***
destination_hex491  -2.1601433  0.0216250   -99.891  < 2e-16 ***
destination_hex493  -2.6033067  0.0517478   -50.308  < 2e-16 ***
destination_hex494  -0.7352740  0.0268258   -27.409  < 2e-16 ***
destination_hex509   0.9815025  0.0214401    45.779  < 2e-16 ***
destination_hex510   0.9114727  0.0183617    49.640  < 2e-16 ***
destination_hex511  -0.1115208  0.0168389    -6.623 3.52e-11 ***
destination_hex512  -0.1990739  0.0167023   -11.919  < 2e-16 ***
destination_hex513   1.1379677  0.0172461    65.984  < 2e-16 ***
destination_hex514   0.4770694  0.0194616    24.513  < 2e-16 ***
destination_hex515  -0.9229175  0.0329510   -28.009  < 2e-16 ***
destination_hex530   0.0641379  0.0335039     1.914 0.055577 .  
destination_hex531   2.6362265  0.0166696   158.146  < 2e-16 ***
destination_hex532   0.5139991  0.0178596    28.780  < 2e-16 ***
destination_hex533   1.4109719  0.0158407    89.072  < 2e-16 ***
destination_hex534   0.4067875  0.0167394    24.301  < 2e-16 ***
destination_hex536  -0.4673862  0.0234721   -19.912  < 2e-16 ***
destination_hex537  -1.1670711  0.0369437   -31.591  < 2e-16 ***
destination_hex538  -1.5692648  0.0452405   -34.687  < 2e-16 ***
destination_hex539  -5.2668165  0.5775717    -9.119  < 2e-16 ***
destination_hex551   0.9018901  0.0236884    38.073  < 2e-16 ***
destination_hex552   1.2467596  0.0187343    66.549  < 2e-16 ***
destination_hex553  -0.0785298  0.0176659    -4.445 8.78e-06 ***
destination_hex554  -0.6984565  0.0169426   -41.225  < 2e-16 ***
destination_hex555   0.5233914  0.0172301    30.377  < 2e-16 ***
destination_hex559  -1.8997287  0.0567182   -33.494  < 2e-16 ***
destination_hex560   0.6629469  0.0224952    29.471  < 2e-16 ***
destination_hex561  -1.8132653  0.0690435   -26.263  < 2e-16 ***
destination_hex572  -0.0866186  0.0359504    -2.409 0.015979 *  
destination_hex573   1.8035236  0.0185614    97.165  < 2e-16 ***
destination_hex574  -0.5257457  0.0226819   -23.179  < 2e-16 ***
destination_hex575   2.4458192  0.0156436   156.346  < 2e-16 ***
destination_hex576  -0.0426010  0.0167479    -2.544 0.010970 *  
destination_hex578  -3.9048218  0.1077484   -36.240  < 2e-16 ***
destination_hex582  -2.1369302  0.0677055   -31.562  < 2e-16 ***
destination_hex583  -3.8396840  0.2187739   -17.551  < 2e-16 ***
destination_hex584  -0.4935946  0.0381690   -12.932  < 2e-16 ***
destination_hex593  -0.6990535  0.0283225   -24.682  < 2e-16 ***
destination_hex594   0.9760421  0.0205358    47.529  < 2e-16 ***
destination_hex595   0.8975940  0.0165469    54.245  < 2e-16 ***
destination_hex596   0.0885354  0.0163155     5.426 5.75e-08 ***
destination_hex597  -0.6475877  0.0218553   -29.631  < 2e-16 ***
destination_hex603  -1.5930612  0.0535299   -29.760  < 2e-16 ***
destination_hex604  -1.0644839  0.0470537   -22.623  < 2e-16 ***
destination_hex615  -0.2490286  0.0212590   -11.714  < 2e-16 ***
destination_hex616   0.7382123  0.0176209    41.894  < 2e-16 ***
destination_hex617  -0.6783702  0.0179619   -37.767  < 2e-16 ***
destination_hex618  -0.1053650  0.0166671    -6.322 2.59e-10 ***
destination_hex620  -0.2957742  0.0193104   -15.317  < 2e-16 ***
destination_hex637  -0.3354277  0.0189013   -17.746  < 2e-16 ***
destination_hex638  -0.0620502  0.0164961    -3.762 0.000169 ***
destination_hex657   1.1405918  0.0169579    67.260  < 2e-16 ***
destination_hex658   0.4320534  0.0165676    26.078  < 2e-16 ***
destination_hex659   0.2400171  0.0164858    14.559  < 2e-16 ***
destination_hex66    0.7901672  0.0473513    16.687  < 2e-16 ***
destination_hex660   0.9057303  0.0159863    56.657  < 2e-16 ***
destination_hex662   0.2789638  0.0190551    14.640  < 2e-16 ***
destination_hex67    1.6036205  0.0222757    71.990  < 2e-16 ***
destination_hex677   1.0090754  0.0180280    55.973  < 2e-16 ***
destination_hex678  -0.5355106  0.0207194   -25.846  < 2e-16 ***
destination_hex679   0.8916864  0.0162391    54.910  < 2e-16 ***
destination_hex68    1.0920157  0.0258648    42.220  < 2e-16 ***
destination_hex680   2.3415172  0.0156750   149.379  < 2e-16 ***
destination_hex681  -1.2648077  0.0236467   -53.488  < 2e-16 ***
destination_hex699   0.6586173  0.0178084    36.984  < 2e-16 ***
destination_hex700   0.3565360  0.0168395    21.173  < 2e-16 ***
destination_hex701  -2.1288027  0.0245569   -86.688  < 2e-16 ***
destination_hex702   0.6639123  0.0161700    41.058  < 2e-16 ***
destination_hex704  -0.0928704  0.0185102    -5.017 5.24e-07 ***
destination_hex722  -0.4709747  0.0182308   -25.834  < 2e-16 ***
destination_hex725  -2.3870297  0.0309354   -77.162  < 2e-16 ***
destination_hex741   1.3072565  0.0170108    76.849  < 2e-16 ***
destination_hex743  -2.4927592  0.0260080   -95.846  < 2e-16 ***
destination_hex744   0.5952392  0.0162016    36.740  < 2e-16 ***
destination_hex761   1.6382570  0.0175554    93.319  < 2e-16 ***
destination_hex762  -0.3379884  0.0199539   -16.938  < 2e-16 ***
destination_hex763  -2.4170476  0.0255807   -94.487  < 2e-16 ***
destination_hex764   1.2198896  0.0158474    76.977  < 2e-16 ***
destination_hex765  -0.3874726  0.0180213   -21.501  < 2e-16 ***
destination_hex767  -0.3445891  0.0168970   -20.394  < 2e-16 ***
destination_hex772  -0.9024959  0.0379872   -23.758  < 2e-16 ***
destination_hex784  -1.7786853  0.0251235   -70.798  < 2e-16 ***
destination_hex785   0.2099135  0.0164083    12.793  < 2e-16 ***
destination_hex786   0.0602097  0.0162450     3.706 0.000210 ***
destination_hex787  -0.3755278  0.0181598   -20.679  < 2e-16 ***
destination_hex788  -2.2097988  0.0208271  -106.102  < 2e-16 ***
destination_hex789  -2.7447032  0.0227814  -120.480  < 2e-16 ***
destination_hex803   0.3883515  0.0207964    18.674  < 2e-16 ***
destination_hex804   0.5204669  0.0168581    30.873  < 2e-16 ***
destination_hex805   1.8225420  0.0157272   115.884  < 2e-16 ***
destination_hex806  -0.3830464  0.0165747   -23.110  < 2e-16 ***
destination_hex807  -0.3180873  0.0169789   -18.734  < 2e-16 ***
destination_hex808  -2.1082289  0.0250765   -84.072  < 2e-16 ***
destination_hex809  -0.2592403  0.0163629   -15.843  < 2e-16 ***
destination_hex810  -0.7888293  0.0176522   -44.687  < 2e-16 ***
destination_hex814   0.0212071  0.0248311     0.854 0.393076    
destination_hex819   1.9266353  0.0210658    91.458  < 2e-16 ***
destination_hex824   0.5461505  0.0204589    26.695  < 2e-16 ***
destination_hex826   0.0763996  0.0165973     4.603 4.16e-06 ***
destination_hex827  -0.4451573  0.0167432   -26.587  < 2e-16 ***
destination_hex828  -0.0543241  0.0162481    -3.343 0.000828 ***
destination_hex829  -0.4090152  0.0174892   -23.387  < 2e-16 ***
destination_hex830  -1.7267554  0.0200078   -86.304  < 2e-16 ***
destination_hex831   1.8254412  0.0156799   116.419  < 2e-16 ***
destination_hex832   1.2190587  0.0160249    76.073  < 2e-16 ***
destination_hex835  -0.7666582  0.0254775   -30.092  < 2e-16 ***
destination_hex844   0.0453956  0.0236888     1.916 0.055323 .  
destination_hex846  -0.0595007  0.0169721    -3.506 0.000455 ***
destination_hex847   0.9161139  0.0160851    56.954  < 2e-16 ***
destination_hex848  -0.1188273  0.0166576    -7.134 9.78e-13 ***
destination_hex849  -0.9244399  0.0175318   -52.729  < 2e-16 ***
destination_hex850  -0.0891826  0.0164713    -5.414 6.15e-08 ***
destination_hex851  -0.4658468  0.0166045   -28.055  < 2e-16 ***
destination_hex852  -0.5136014  0.0175796   -29.216  < 2e-16 ***
destination_hex853   0.0342241  0.0176788     1.936 0.052882 .  
destination_hex854   0.2560022  0.0210023    12.189  < 2e-16 ***
destination_hex855  -0.5381096  0.0249706   -21.550  < 2e-16 ***
destination_hex856  -1.6107042  0.0355292   -45.335  < 2e-16 ***
destination_hex86    1.4720357  0.0393509    37.408  < 2e-16 ***
destination_hex866   0.9858791  0.0184205    53.521  < 2e-16 ***
destination_hex867   1.5880741  0.0161042    98.613  < 2e-16 ***
destination_hex868   1.1132509  0.0163125    68.245  < 2e-16 ***
destination_hex869   2.0122528  0.0162859   123.558  < 2e-16 ***
destination_hex87   -1.8430958  0.0897622   -20.533  < 2e-16 ***
destination_hex870   1.5069166  0.0157134    95.900  < 2e-16 ***
destination_hex871   1.4809079  0.0159653    92.758  < 2e-16 ***
destination_hex872  -0.0230151  0.0163879    -1.404 0.160202    
destination_hex873  -0.3632177  0.0173449   -20.941  < 2e-16 ***
destination_hex874  -2.2114808  0.0204343  -108.224  < 2e-16 ***
destination_hex875  -1.3255216  0.0324910   -40.797  < 2e-16 ***
destination_hex876  -0.9427180  0.0245596   -38.385  < 2e-16 ***
destination_hex877   0.1242916  0.0214728     5.788 7.11e-09 ***
destination_hex88    1.1042917  0.0241332    45.758  < 2e-16 ***
destination_hex887   0.1952162  0.0175210    11.142  < 2e-16 ***
destination_hex888  -0.9158285  0.0205216   -44.627  < 2e-16 ***
destination_hex889  -0.2738996  0.0200724   -13.646  < 2e-16 ***
destination_hex89    0.2684227  0.0282404     9.505  < 2e-16 ***
destination_hex890   0.6955251  0.0161732    43.005  < 2e-16 ***
destination_hex891  -1.4667185  0.0213501   -68.698  < 2e-16 ***
destination_hex893   0.4628824  0.0160382    28.861  < 2e-16 ***
destination_hex894  -1.2844107  0.0193309   -66.444  < 2e-16 ***
destination_hex895  -0.1134022  0.0179827    -6.306 2.86e-10 ***
destination_hex896  -2.3343314  0.0337072   -69.253  < 2e-16 ***
destination_hex897  -2.1356463  0.0312938   -68.245  < 2e-16 ***
destination_hex898  -0.1820836  0.0210695    -8.642  < 2e-16 ***
destination_hex90   -2.1700237  0.5006794    -4.334 1.46e-05 ***
destination_hex908   0.9051761  0.0188415    48.042  < 2e-16 ***
destination_hex909   0.0398940  0.0167202     2.386 0.017034 *  
destination_hex910  -0.8131626  0.0194283   -41.855  < 2e-16 ***
destination_hex911   1.3306871  0.0159530    83.413  < 2e-16 ***
destination_hex912  -0.4875820  0.0170012   -28.679  < 2e-16 ***
destination_hex915  -0.1455502  0.0165040    -8.819  < 2e-16 ***
destination_hex917   1.0366212  0.0163796    63.288  < 2e-16 ***
destination_hex918  -2.9661895  0.0427750   -69.344  < 2e-16 ***
destination_hex919  -1.5641955  0.0212485   -73.615  < 2e-16 ***
destination_hex928  -1.0249513  0.0231839   -44.210  < 2e-16 ***
destination_hex929  -0.0858629  0.0169781    -5.057 4.25e-07 ***
destination_hex930   0.6019762  0.0159268    37.796  < 2e-16 ***
destination_hex931  -0.2194392  0.0184907   -11.868  < 2e-16 ***
destination_hex932  -2.5420069  0.0288619   -88.075  < 2e-16 ***
destination_hex933   0.2992369  0.0171468    17.451  < 2e-16 ***
destination_hex934  -0.4136514  0.0174019   -23.770  < 2e-16 ***
destination_hex935   1.8351125  0.0156134   117.534  < 2e-16 ***
destination_hex938  -4.9166591  0.1748272   -28.123  < 2e-16 ***
destination_hex939   1.9253735  0.0158486   121.485  < 2e-16 ***
destination_hex940  -2.0272457  0.0241425   -83.970  < 2e-16 ***
destination_hex949  -0.6799055  0.0211374   -32.166  < 2e-16 ***
destination_hex950   1.0119990  0.0162881    62.131  < 2e-16 ***
destination_hex951   1.7852820  0.0157167   113.592  < 2e-16 ***
destination_hex952   0.9036658  0.0172509    52.384  < 2e-16 ***
destination_hex953   0.2385970  0.0176755    13.499  < 2e-16 ***
destination_hex954  -1.8781100  0.0230242   -81.571  < 2e-16 ***
destination_hex955   1.0230126  0.0160191    63.862  < 2e-16 ***
destination_hex956  -0.6703838  0.0178915   -37.469  < 2e-16 ***
destination_hex957  -0.4862085  0.0175847   -27.650  < 2e-16 ***
destination_hex959  -0.1393895  0.0268822    -5.185 2.16e-07 ***
destination_hex961  -0.8188427  0.0195951   -41.788  < 2e-16 ***
destination_hex962   1.4713358  0.0162433    90.581  < 2e-16 ***
destination_hex970   0.7142491  0.0166288    42.953  < 2e-16 ***
destination_hex971   0.7981671  0.0160989    49.579  < 2e-16 ***
destination_hex972  -0.3925277  0.0169587   -23.146  < 2e-16 ***
destination_hex974  -0.4918882  0.0186093   -26.432  < 2e-16 ***
destination_hex975  -1.5005453  0.0222305   -67.499  < 2e-16 ***
destination_hex976  -0.9269298  0.0190122   -48.754  < 2e-16 ***
destination_hex977  -0.4599643  0.0166699   -27.592  < 2e-16 ***
destination_hex978  -3.3593471  0.0195181  -172.115  < 2e-16 ***
destination_hex982  -1.2867218  0.0188465   -68.274  < 2e-16 ***
destination_hex983   4.4599209  0.0191106   233.374  < 2e-16 ***
destination_hex984   2.8353507  0.0165307   171.520  < 2e-16 ***
destination_hex991   0.7945254  0.0168896    47.042  < 2e-16 ***
destination_hex992   0.9132607  0.0163464    55.869  < 2e-16 ***
destination_hex993  -0.6755633  0.0181387   -37.244  < 2e-16 ***
destination_hex994  -0.6145311  0.0190532   -32.253  < 2e-16 ***
destination_hex995   0.0120222  0.0173293     0.694 0.487839    
destination_hex996  -0.7846182  0.0188386   -41.650  < 2e-16 ***
destination_hex997  -0.6156297  0.0206978   -29.744  < 2e-16 ***
destination_hex998  -0.2347780  0.0164742   -14.251  < 2e-16 ***
destination_hex999  -2.3796323  0.0195230  -121.889  < 2e-16 ***
log(distance)       -1.3773447  0.0002468 -5579.969  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 98559950  on 64884  degrees of freedom
Residual deviance: 27574285  on 63251  degrees of freedom
AIC: 27934252

Number of Fisher Scoring iterations: 9
Code
CalcRSquared(docSIM$data$trips, docSIM$fitted.values)
[1] 0.5336822
  • glm from stats package in base R fits generalized linear models. In this code, docSIM is a Poisson regression model with a log link function. The model predicts trips based on origin_hex, destination_hex, and the logarithm of distance.
  • summary from base R provides a summary of the model’s fit, including coefficients, statistical significance, and other diagnostics.
  • CalcRSquared is a custom function for calculating the R-squared value of the model.

Key Coefficients: This Poisson regression model explores the relationship between trip counts and predictor variables, including origin, destination, and the logarithm of distance. The estimated coefficients, accompanied by their p-values, reveal the significance of each predictor in influencing trip counts.

  • Intercept: 14.34 (p < 2e-16)
  • origin_hex1003: 2.59 (p < 2e-16)
  • origin_hex1004: 3.41 (p < 2e-16)
  • origin_hex1011: -1.06 (p < 2e-16)
  • origin_hex1012: -0.91 (p < 2e-16)
  • origin_hex1013: -0.27 (p < 2e-16)
  • origin_hex1014: 0.36 (p < 2e-16)
  • origin_hex1015: -0.44 (p < 2e-16)
  • origin_hex1016: 1.34 (p < 2e-16)
  • origin_hex1018: 1.91 (p < 2e-16)
  • and various other dummy origin and destination variables in which many are statistically significant.

Model Fit: The model’s R-squared value is approximately 0.534, indicating that around 53.4% of the variability in trip counts is explained by the selected predictor variables. The goodness-of-fit metrics, including the residual deviance and AIC, support the model’s effectiveness in capturing patterns within the dataset. The p-values for each predictor underscore their significance in explaining the observed variation in trip counts.

Note that push_est_pop which represent proxy for population in the origin location counterintuitively have a negative coefficient. Nevertheless,it might simply be a symptomps of multicollinearity. As we can see, the push_hdb_sf_count which previously was identified to be highly correlated with push_hdb_sf_count, have positive coefficient. This in a way suggest that the impact of the two offset each other to some extent, and the net effect most likely be positive. We can see on the later whether this hunch is correct in the next section, where highly correlated variables are eliminated from the model.

6.3 The 3 Models With Elimination

Unconstrained

Code
uncSIM2 <- glm(formula = trips ~ 
                log(push_num_bus_stops) +
                #log(push_station_count) +
                log(push_trainexit_count) +
                #log(push_hdb_sf_count) +
                log(push_est_pop) +
                #log(pull_station_count) +
                log(pull_trainexit_count) +
                log(pull_biz_count) +
                log(pull_entertn_count) +
                log(pull_fnb_count) +
                #log(pull_finance_count) +
                #log(pull_lnr_count) +
                #log(pull_retails_count) +
                log(pull_schools_sf_count) +
                log(distance),
              family = poisson(link = "log"),
              data = final_df,
              na.action = na.exclude)

summary(uncSIM2)

Call:
glm(formula = trips ~ log(push_num_bus_stops) + log(push_trainexit_count) + 
    log(push_est_pop) + log(pull_trainexit_count) + log(pull_biz_count) + 
    log(pull_entertn_count) + log(pull_fnb_count) + log(pull_schools_sf_count) + 
    log(distance), family = poisson(link = "log"), data = final_df, 
    na.action = na.exclude)

Coefficients:
                             Estimate Std. Error z value Pr(>|z|)    
(Intercept)                 1.322e+01  1.646e-03  8031.6   <2e-16 ***
log(push_num_bus_stops)     3.832e-01  4.787e-04   800.5   <2e-16 ***
log(push_trainexit_count)   1.644e-01  3.139e-04   523.7   <2e-16 ***
log(push_est_pop)           1.297e-01  7.092e-05  1828.6   <2e-16 ***
log(pull_trainexit_count)   7.795e-01  3.125e-04  2493.9   <2e-16 ***
log(pull_biz_count)         7.339e-02  1.766e-04   415.7   <2e-16 ***
log(pull_entertn_count)    -2.403e-01  7.956e-04  -302.0   <2e-16 ***
log(pull_fnb_count)        -1.928e-01  2.581e-04  -747.1   <2e-16 ***
log(pull_schools_sf_count)  3.026e-01  6.350e-04   476.4   <2e-16 ***
log(distance)              -1.169e+00  1.851e-04 -6313.0   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 98559950  on 64884  degrees of freedom
Residual deviance: 52803529  on 64875  degrees of freedom
AIC: 53160249

Number of Fisher Scoring iterations: 7
Code
CalcRSquared(uncSIM2$data$trips, uncSIM2$fitted.values)
[1] 0.1306422
  • glm from stats R package is used to fit generalized linear models, specified by giving a symbolic description of the linear predictor and a description of the error distribution. In this code, it’s applied to the trips as the response variable and a set of predictor variables in the final_df data frame.
  • The formula trips ~ log(pull_trainexit_count) + log(pull_biz_count) + log(pull_entertn_count) + log(pull_fnb_count) + log(pull_schools_sf_count) + log(distance) + origin_hex specifies that trips is modeled as a function of pull_trainexit_count, pull_biz_count, pull_entertn_count, pull_fnb_count, pull_schools_sf_count, distance, and origin_hex. The log function is applied to transform the predictor variables.
  • The argument family = poisson(link = "log") specifies that a Poisson regression model is fitted with a log link function.
  • The argument na.action = na.exclude specifies that any missing values should be excluded from the model fitting process.
  • summary from base R package is used to produce result summaries of the results of various model fitting functions. In this code, it’s applied to the fitted model orcSIM2 to obtain a summary of the model fit.
  • CalcRSquared is user-defined function , which is used to calculate the R-squared value of the fitted model. It takes the observed values orcSIM2$data$trips and the fitted values orcSIM2$fitted.values as inputs.

Key Coefficients: The Poisson regression model reveals crucial coefficients that help interpret the impact of predictor variables on the logarithm of trip counts. With highly significant p-values (< 2e-16), each coefficient contributes significantly to explaining the variability in trip counts.

  • Intercept: 13.22 (p < 2e-16)
  • log(push_num_bus_stops): 0.383 (p < 2e-16)
  • log(push_trainexit_count): 0.164 (p < 2e-16)
  • log(push_est_pop): 0.130 (p < 2e-16)
  • log(pull_trainexit_count): 0.780 (p < 2e-16)
  • log(pull_biz_count): 0.073 (p < 2e-16)
  • log(pull_entertn_count): -0.240 (p < 2e-16)
  • log(pull_fnb_count): -0.193 (p < 2e-16)
  • log(pull_schools_sf_count): 0.303 (p < 2e-16)
  • log(distance): -1.169 (p < 2e-16)

Model Fit: The R-squared value for the model is approximately 0.131, suggesting that the selected predictor variables collectively explain around 13.1% of the variability in trip counts. The goodness-of-fit metrics, including the residual deviance and AIC, demonstrate the model’s efficacy in capturing patterns within the data. Notably, all predictor variables exhibit highly significant p-values, emphasizing their importance in explaining the observed variation in trip counts.

Origin Constrained

Code
orcSIM2 <- glm(formula = trips ~
                #log(pull_station_count) +
                log(pull_trainexit_count) +
                log(pull_biz_count) +
                log(pull_entertn_count) +
                log(pull_fnb_count) +
                #log(pull_finance_count) +
                #log(pull_lnr_count) +
                #log(pull_retails_count) +
                log(pull_schools_sf_count) +
                log(distance) +
                origin_hex,
              family = poisson(link = "log"),
              data = final_df,
              na.action = na.exclude)

summary(orcSIM2)

Call:
glm(formula = trips ~ log(pull_trainexit_count) + log(pull_biz_count) + 
    log(pull_entertn_count) + log(pull_fnb_count) + log(pull_schools_sf_count) + 
    log(distance) + origin_hex, family = poisson(link = "log"), 
    data = final_df, na.action = na.exclude)

Coefficients:
                             Estimate Std. Error   z value Pr(>|z|)    
(Intercept)                13.5601125  0.0243194   557.585  < 2e-16 ***
log(pull_trainexit_count)   0.8311186  0.0003245  2561.425  < 2e-16 ***
log(pull_biz_count)         0.0971130  0.0001869   519.701  < 2e-16 ***
log(pull_entertn_count)    -0.1844719  0.0008291  -222.507  < 2e-16 ***
log(pull_fnb_count)        -0.1020034  0.0002716  -375.512  < 2e-16 ***
log(pull_schools_sf_count)  0.2594574  0.0006662   389.468  < 2e-16 ***
log(distance)              -1.2396219  0.0002135 -5806.644  < 2e-16 ***
origin_hex1003              2.6321831  0.0245529   107.204  < 2e-16 ***
origin_hex1004              3.4913499  0.0243933   143.127  < 2e-16 ***
origin_hex1011             -0.5583317  0.0386093   -14.461  < 2e-16 ***
origin_hex1012             -0.6221530  0.0399374   -15.578  < 2e-16 ***
origin_hex1013             -0.0154868  0.0288940    -0.536 0.591967    
origin_hex1014              0.4643249  0.0264014    17.587  < 2e-16 ***
origin_hex1015             -0.1897484  0.0289102    -6.563 5.26e-11 ***
origin_hex1016              1.1782364  0.0252049    46.746  < 2e-16 ***
origin_hex1018              1.6003976  0.0260518    61.431  < 2e-16 ***
origin_hex1019              3.0087133  0.0246199   122.206  < 2e-16 ***
origin_hex1023              1.7387247  0.0258759    67.195  < 2e-16 ***
origin_hex1024              2.9548088  0.0245801   120.211  < 2e-16 ***
origin_hex1025             -1.5886599  0.0547596   -29.012  < 2e-16 ***
origin_hex1033              0.6336535  0.0265924    23.828  < 2e-16 ***
origin_hex1034              1.4347431  0.0252096    56.913  < 2e-16 ***
origin_hex1035              1.9553158  0.0247813    78.903  < 2e-16 ***
origin_hex1036             -0.0553465  0.0278600    -1.987 0.046967 *  
origin_hex1037              1.1454289  0.0251632    45.520  < 2e-16 ***
origin_hex1043             -0.2291721  0.0345369    -6.636 3.23e-11 ***
origin_hex1045              2.4064097  0.0245920    97.853  < 2e-16 ***
origin_hex1046              2.5303041  0.0246862   102.499  < 2e-16 ***
origin_hex1053              1.7657206  0.0248481    71.061  < 2e-16 ***
origin_hex1054              1.1089895  0.0253902    43.678  < 2e-16 ***
origin_hex1055              1.9887126  0.0247348    80.401  < 2e-16 ***
origin_hex1056              0.7833670  0.0258494    30.305  < 2e-16 ***
origin_hex1064             -3.1189055  0.2511752   -12.417  < 2e-16 ***
origin_hex1066              2.4699636  0.0246914   100.033  < 2e-16 ***
origin_hex1067              2.4733643  0.0250513    98.732  < 2e-16 ***
origin_hex1074              1.3084588  0.0253222    51.672  < 2e-16 ***
origin_hex1075              0.8624572  0.0261699    32.956  < 2e-16 ***
origin_hex1076              0.7514178  0.0256649    29.278  < 2e-16 ***
origin_hex1077              0.7684923  0.0261874    29.346  < 2e-16 ***
origin_hex1079              1.9370069  0.0247098    78.390  < 2e-16 ***
origin_hex1085             -2.8197339  0.1434885   -19.651  < 2e-16 ***
origin_hex1087              2.0919066  0.0248643    84.133  < 2e-16 ***
origin_hex1088              1.0651208  0.0268976    39.599  < 2e-16 ***
origin_hex109              -1.5630311  0.1019469   -15.332  < 2e-16 ***
origin_hex1094             -1.0668937  0.0497927   -21.427  < 2e-16 ***
origin_hex1095             -0.8499649  0.0407394   -20.863  < 2e-16 ***
origin_hex1096              0.7163583  0.0315284    22.721  < 2e-16 ***
origin_hex1097              2.3207635  0.0244891    94.767  < 2e-16 ***
origin_hex1098             -0.2719177  0.0301170    -9.029  < 2e-16 ***
origin_hex1099              1.3026102  0.0251109    51.874  < 2e-16 ***
origin_hex110              -0.5973502  0.0756133    -7.900 2.79e-15 ***
origin_hex1105             -1.1658159  0.0658351   -17.708  < 2e-16 ***
origin_hex1106             -2.1445537  0.0948277   -22.615  < 2e-16 ***
origin_hex1107             -0.3089214  0.0365418    -8.454  < 2e-16 ***
origin_hex1108              3.7729230  0.0243338   155.049  < 2e-16 ***
origin_hex1109              1.5277073  0.0262193    58.267  < 2e-16 ***
origin_hex111               1.6818593  0.0267544    62.863  < 2e-16 ***
origin_hex1116              0.6678164  0.0256017    26.085  < 2e-16 ***
origin_hex1117             -0.4596485  0.0297749   -15.437  < 2e-16 ***
origin_hex1118             -0.6429810  0.0307660   -20.899  < 2e-16 ***
origin_hex1119              0.6143705  0.0260403    23.593  < 2e-16 ***
origin_hex112              -2.4226747  0.0685892   -35.322  < 2e-16 ***
origin_hex1120              0.3248735  0.0274792    11.823  < 2e-16 ***
origin_hex1129              2.3981351  0.0246438    97.312  < 2e-16 ***
origin_hex1130              2.9762591  0.0245143   121.409  < 2e-16 ***
origin_hex1131              1.4001784  0.0261798    53.483  < 2e-16 ***
origin_hex1136             -0.1142536  0.0285752    -3.998 6.38e-05 ***
origin_hex1138             -0.8795976  0.0373732   -23.536  < 2e-16 ***
origin_hex1139              1.4691385  0.0247430    59.376  < 2e-16 ***
origin_hex1141              1.3957032  0.0249913    55.848  < 2e-16 ***
origin_hex1148             -1.0618916  0.0569957   -18.631  < 2e-16 ***
origin_hex1149              0.5744042  0.0296594    19.367  < 2e-16 ***
origin_hex1150              3.0842311  0.0244665   126.059  < 2e-16 ***
origin_hex1151              1.7237379  0.0250245    68.882  < 2e-16 ***
origin_hex1158              0.0915149  0.0265761     3.444 0.000574 ***
origin_hex1159              1.3891242  0.0248632    55.871  < 2e-16 ***
origin_hex1160              2.3071450  0.0245029    94.158  < 2e-16 ***
origin_hex1171              2.9932968  0.0245092   122.129  < 2e-16 ***
origin_hex1172              2.8742677  0.0244897   117.366  < 2e-16 ***
origin_hex1173              0.5496698  0.0271436    20.250  < 2e-16 ***
origin_hex1174             -2.7413506  0.2683616   -10.215  < 2e-16 ***
origin_hex1178              0.2061445  0.0263014     7.838 4.59e-15 ***
origin_hex1179              1.0359993  0.0251507    41.192  < 2e-16 ***
origin_hex1180              1.9191626  0.0245945    78.032  < 2e-16 ***
origin_hex1181              1.1425914  0.0250748    45.567  < 2e-16 ***
origin_hex1183              0.1673654  0.0268546     6.232 4.60e-10 ***
origin_hex1190             -0.8268382  0.0536401   -15.415  < 2e-16 ***
origin_hex1192              2.4335545  0.0249642    97.482  < 2e-16 ***
origin_hex1193              2.1781251  0.0247475    88.014  < 2e-16 ***
origin_hex1194              0.4077680  0.0278702    14.631  < 2e-16 ***
origin_hex1200              1.2530284  0.0251038    49.914  < 2e-16 ***
origin_hex1201              1.0083491  0.0252222    39.979  < 2e-16 ***
origin_hex1203              1.4957804  0.0249212    60.021  < 2e-16 ***
origin_hex1204              1.2149591  0.0251508    48.307  < 2e-16 ***
origin_hex1211             -1.2194108  0.0923335   -13.207  < 2e-16 ***
origin_hex1214              2.7686684  0.0245485   112.784  < 2e-16 ***
origin_hex1215             -0.3871613  0.0464658    -8.332  < 2e-16 ***
origin_hex1216             -1.2629433  0.0470366   -26.850  < 2e-16 ***
origin_hex1220              2.3037872  0.0245639    93.788  < 2e-16 ***
origin_hex1221              1.7547146  0.0246412    71.211  < 2e-16 ***
origin_hex1222              1.4577710  0.0260534    55.953  < 2e-16 ***
origin_hex1223             -0.4476813  0.0293855   -15.235  < 2e-16 ***
origin_hex1224              0.3127336  0.0264251    11.835  < 2e-16 ***
origin_hex1231             -3.1956826  0.1905340   -16.772  < 2e-16 ***
origin_hex1232             -1.8747531  0.1144070   -16.387  < 2e-16 ***
origin_hex1235              0.2400771  0.0277945     8.638  < 2e-16 ***
origin_hex1236              0.5630556  0.0277536    20.288  < 2e-16 ***
origin_hex1241              0.4198177  0.0261940    16.027  < 2e-16 ***
origin_hex1242              1.1795638  0.0251458    46.909  < 2e-16 ***
origin_hex1243              1.6830615  0.0247045    68.128  < 2e-16 ***
origin_hex1246              0.3510307  0.0258727    13.568  < 2e-16 ***
origin_hex1256              1.8885661  0.0254830    74.111  < 2e-16 ***
origin_hex1257              2.6108862  0.0247436   105.518  < 2e-16 ***
origin_hex1258              0.3132340  0.0281438    11.130  < 2e-16 ***
origin_hex1262              1.0427069  0.0255613    40.792  < 2e-16 ***
origin_hex1263              1.3293722  0.0247779    53.651  < 2e-16 ***
origin_hex1264              0.4840117  0.0269030    17.991  < 2e-16 ***
origin_hex1265             -0.2373854  0.0279158    -8.504  < 2e-16 ***
origin_hex1266              1.1274699  0.0254110    44.369  < 2e-16 ***
origin_hex1267             -0.8953263  0.0361145   -24.791  < 2e-16 ***
origin_hex1272             -3.1268043  0.1179927   -26.500  < 2e-16 ***
origin_hex1273              0.6565908  0.0269643    24.350  < 2e-16 ***
origin_hex1277              2.4373179  0.0245416    99.314  < 2e-16 ***
origin_hex1278              0.1175850  0.0278045     4.229 2.35e-05 ***
origin_hex128               0.6462347  0.0329259    19.627  < 2e-16 ***
origin_hex1283              2.4578844  0.0245195   100.242  < 2e-16 ***
origin_hex1284              1.8082322  0.0246867    73.247  < 2e-16 ***
origin_hex1285              2.4708141  0.0244614   101.009  < 2e-16 ***
origin_hex1286              0.6551805  0.0262060    25.001  < 2e-16 ***
origin_hex1289             -1.4210240  0.0521212   -27.264  < 2e-16 ***
origin_hex129              -1.9450528  0.1905352   -10.208  < 2e-16 ***
origin_hex1293             -2.7169118  0.0923337   -29.425  < 2e-16 ***
origin_hex1294              2.2447941  0.0249321    90.036  < 2e-16 ***
origin_hex1295             -0.2598588  0.0317694    -8.180 2.85e-16 ***
origin_hex1298              1.6130452  0.0250449    64.406  < 2e-16 ***
origin_hex1299              2.1218011  0.0249574    85.017  < 2e-16 ***
origin_hex130              -1.8958716  0.0649032   -29.211  < 2e-16 ***
origin_hex1304              2.4543036  0.0245251   100.073  < 2e-16 ***
origin_hex1305              1.8164295  0.0245785    73.903  < 2e-16 ***
origin_hex1307             -1.6586584  0.0446958   -37.110  < 2e-16 ***
origin_hex1308              1.2627279  0.0249820    50.545  < 2e-16 ***
origin_hex131              -0.7366404  0.0427948   -17.213  < 2e-16 ***
origin_hex1310             -3.0307212  0.1370065   -22.121  < 2e-16 ***
origin_hex1316             -1.3148473  0.0410248   -32.050  < 2e-16 ***
origin_hex1317              0.4748518  0.0266677    17.806  < 2e-16 ***
origin_hex1318              0.0436923  0.0286183     1.527 0.126829    
origin_hex1319              2.6630487  0.0245136   108.636  < 2e-16 ***
origin_hex132              -1.3099830  0.0537417   -24.376  < 2e-16 ***
origin_hex1320              1.3913525  0.0257691    53.993  < 2e-16 ***
origin_hex1325              0.0774890  0.0271331     2.856 0.004292 ** 
origin_hex1326              1.9879602  0.0245679    80.917  < 2e-16 ***
origin_hex1327              1.7102827  0.0246387    69.415  < 2e-16 ***
origin_hex1328              0.4263893  0.0259708    16.418  < 2e-16 ***
origin_hex1329              0.5010581  0.0268264    18.678  < 2e-16 ***
origin_hex133              -1.5380573  0.0448291   -34.309  < 2e-16 ***
origin_hex1330              0.0402126  0.0255228     1.576 0.115129    
origin_hex1331             -3.5321859  0.3024865   -11.677  < 2e-16 ***
origin_hex1333              0.0808432  0.0272230     2.970 0.002981 ** 
origin_hex1334              0.3978298  0.0268894    14.795  < 2e-16 ***
origin_hex1335             -0.0524424  0.0295148    -1.777 0.075598 .  
origin_hex1336             -2.6832628  0.1099236   -24.410  < 2e-16 ***
origin_hex1337             -2.0162587  0.0543931   -37.068  < 2e-16 ***
origin_hex1338             -2.8189671  0.0849204   -33.195  < 2e-16 ***
origin_hex1339              2.7296074  0.0244932   111.444  < 2e-16 ***
origin_hex134               0.1123959  0.0336005     3.345 0.000823 ***
origin_hex1340              1.1303555  0.0257728    43.859  < 2e-16 ***
origin_hex1341             -3.8017851  0.7075233    -5.373 7.73e-08 ***
origin_hex1346              1.6345822  0.0249820    65.430  < 2e-16 ***
origin_hex1347              2.5871118  0.0244644   105.750  < 2e-16 ***
origin_hex1348              0.9011615  0.0250085    36.034  < 2e-16 ***
origin_hex1349              0.6287824  0.0255280    24.631  < 2e-16 ***
origin_hex1350              0.6568704  0.0266132    24.682  < 2e-16 ***
origin_hex1353              0.1440397  0.0262106     5.495 3.90e-08 ***
origin_hex1354              0.1635457  0.0272028     6.012 1.83e-09 ***
origin_hex1355              0.9723208  0.0256684    37.880  < 2e-16 ***
origin_hex1357             -0.0279887  0.0305753    -0.915 0.359981    
origin_hex1358              1.3412937  0.0252558    53.108  < 2e-16 ***
origin_hex1359              1.9648736  0.0247547    79.374  < 2e-16 ***
origin_hex1360              2.0283940  0.0247837    81.844  < 2e-16 ***
origin_hex1361              2.9094347  0.0245354   118.581  < 2e-16 ***
origin_hex1362             -1.3389857  0.0512410   -26.131  < 2e-16 ***
origin_hex1368              0.5648215  0.0256345    22.034  < 2e-16 ***
origin_hex1369              0.3521212  0.0257037    13.699  < 2e-16 ***
origin_hex1370              1.3491132  0.0247355    54.541  < 2e-16 ***
origin_hex1371              0.6694200  0.0261345    25.614  < 2e-16 ***
origin_hex1372             -0.0331448  0.0275140    -1.205 0.228337    
origin_hex1373             -1.7973124  0.0525182   -34.223  < 2e-16 ***
origin_hex1374              0.2665378  0.0287254     9.279  < 2e-16 ***
origin_hex1375              1.3242047  0.0254203    52.092  < 2e-16 ***
origin_hex1376              0.9306368  0.0271451    34.284  < 2e-16 ***
origin_hex1379             -1.0677416  0.0420664   -25.382  < 2e-16 ***
origin_hex1380              2.9829518  0.0244118   122.193  < 2e-16 ***
origin_hex1381              2.6590037  0.0244980   108.540  < 2e-16 ***
origin_hex1382              2.1538316  0.0250008    86.150  < 2e-16 ***
origin_hex1383             -0.5150259  0.0340932   -15.106  < 2e-16 ***
origin_hex1388              0.9516246  0.0250785    37.946  < 2e-16 ***
origin_hex1389              0.2393601  0.0257840     9.283  < 2e-16 ***
origin_hex1390              0.6627362  0.0251274    26.375  < 2e-16 ***
origin_hex1391              0.6885313  0.0255971    26.899  < 2e-16 ***
origin_hex1392              0.1888036  0.0288882     6.536 6.33e-11 ***
origin_hex1393             -0.5832449  0.0284753   -20.483  < 2e-16 ***
origin_hex1394              0.6008593  0.0253666    23.687  < 2e-16 ***
origin_hex1395              0.6772073  0.0254362    26.624  < 2e-16 ***
origin_hex1396              1.9567311  0.0247345    79.109  < 2e-16 ***
origin_hex1397              1.5532127  0.0247611    62.728  < 2e-16 ***
origin_hex1398              0.8598673  0.0265336    32.407  < 2e-16 ***
origin_hex1400              2.1323290  0.0250531    85.112  < 2e-16 ***
origin_hex1401              2.2524716  0.0245303    91.824  < 2e-16 ***
origin_hex1402              2.4928473  0.0245933   101.363  < 2e-16 ***
origin_hex1404              2.4066330  0.0284271    84.660  < 2e-16 ***
origin_hex1410              1.2691508  0.0246277    51.534  < 2e-16 ***
origin_hex1411              0.4261868  0.0254976    16.715  < 2e-16 ***
origin_hex1412              0.7402423  0.0250205    29.585  < 2e-16 ***
origin_hex1413              1.5879648  0.0246881    64.321  < 2e-16 ***
origin_hex1414              0.7258208  0.0250369    28.990  < 2e-16 ***
origin_hex1415              0.4416192  0.0259034    17.049  < 2e-16 ***
origin_hex1416              1.0507831  0.0252748    41.574  < 2e-16 ***
origin_hex1417              1.1255775  0.0250517    44.930  < 2e-16 ***
origin_hex1418              1.9370633  0.0246875    78.463  < 2e-16 ***
origin_hex1419              1.3182416  0.0250718    52.579  < 2e-16 ***
origin_hex1422              2.5440560  0.0247092   102.960  < 2e-16 ***
origin_hex1423              3.5650023  0.0244377   145.881  < 2e-16 ***
origin_hex1430              1.0117867  0.0249182    40.604  < 2e-16 ***
origin_hex1431              1.1706581  0.0247047    47.386  < 2e-16 ***
origin_hex1432              1.2816680  0.0246915    51.907  < 2e-16 ***
origin_hex1433             -0.2511434  0.0289209    -8.684  < 2e-16 ***
origin_hex1434              1.3770674  0.0248100    55.505  < 2e-16 ***
origin_hex1435              1.8996665  0.0245513    77.375  < 2e-16 ***
origin_hex1436             -1.1129049  0.0330374   -33.686  < 2e-16 ***
origin_hex1437              2.0888153  0.0245978    84.919  < 2e-16 ***
origin_hex1438              2.4086532  0.0244476    98.523  < 2e-16 ***
origin_hex1439              2.9683307  0.0243938   121.684  < 2e-16 ***
origin_hex1440             -0.7967062  0.0314681   -25.318  < 2e-16 ***
origin_hex1442              1.9819139  0.0250768    79.034  < 2e-16 ***
origin_hex1443              3.1109090  0.0244804   127.078  < 2e-16 ***
origin_hex1444              2.5532749  0.0252695   101.042  < 2e-16 ***
origin_hex1452              0.1337540  0.0253849     5.269 1.37e-07 ***
origin_hex1453              0.7284033  0.0251210    28.996  < 2e-16 ***
origin_hex1454             -0.5400082  0.0302578   -17.847  < 2e-16 ***
origin_hex1455              0.8184838  0.0255251    32.066  < 2e-16 ***
origin_hex1456              1.4465183  0.0249166    58.054  < 2e-16 ***
origin_hex1457              2.1719563  0.0245558    88.450  < 2e-16 ***
origin_hex1458              2.2289925  0.0244962    90.993  < 2e-16 ***
origin_hex1459              1.9307923  0.0246425    78.352  < 2e-16 ***
origin_hex1460              1.1354312  0.0249978    45.421  < 2e-16 ***
origin_hex1461             -0.1675051  0.0293481    -5.708 1.15e-08 ***
origin_hex1464              3.1413848  0.0244527   128.468  < 2e-16 ***
origin_hex1465              3.0112269  0.0246434   122.192  < 2e-16 ***
origin_hex1472             -1.1371327  0.0306984   -37.042  < 2e-16 ***
origin_hex1473             -0.2820589  0.0260699   -10.819  < 2e-16 ***
origin_hex1474              0.8691706  0.0247906    35.061  < 2e-16 ***
origin_hex1475              1.9700503  0.0245637    80.202  < 2e-16 ***
origin_hex1476              1.4582636  0.0249804    58.376  < 2e-16 ***
origin_hex1477              2.7164313  0.0243779   111.430  < 2e-16 ***
origin_hex1478              1.1613254  0.0250061    46.442  < 2e-16 ***
origin_hex1479              1.3220928  0.0248627    53.176  < 2e-16 ***
origin_hex1480              2.9919888  0.0243656   122.796  < 2e-16 ***
origin_hex1481              0.5870939  0.0261571    22.445  < 2e-16 ***
origin_hex1482              0.3807482  0.0272531    13.971  < 2e-16 ***
origin_hex1485              1.4213089  0.0246762    57.598  < 2e-16 ***
origin_hex1494              0.0986690  0.0268243     3.678 0.000235 ***
origin_hex1495              0.3723177  0.0254086    14.653  < 2e-16 ***
origin_hex1496              0.9154498  0.0246448    37.146  < 2e-16 ***
origin_hex1497              1.8256290  0.0247360    73.805  < 2e-16 ***
origin_hex1498              2.1249336  0.0245430    86.580  < 2e-16 ***
origin_hex1499              2.2929422  0.0244729    93.693  < 2e-16 ***
origin_hex150               1.3176506  0.0312671    42.142  < 2e-16 ***
origin_hex1500              2.2914082  0.0247667    92.520  < 2e-16 ***
origin_hex1501              2.4037238  0.0244803    98.190  < 2e-16 ***
origin_hex1502              1.9709324  0.0246289    80.025  < 2e-16 ***
origin_hex1506             -2.5735036  0.1111470   -23.154  < 2e-16 ***
origin_hex151              -1.5278044  0.0634473   -24.080  < 2e-16 ***
origin_hex1515             -0.8572689  0.0321006   -26.706  < 2e-16 ***
origin_hex1516              0.0481137  0.0250766     1.919 0.055026 .  
origin_hex1517              1.0013990  0.0251109    39.879  < 2e-16 ***
origin_hex1518              1.2406845  0.0252480    49.140  < 2e-16 ***
origin_hex1519              2.4680416  0.0246630   100.070  < 2e-16 ***
origin_hex152              -1.5677602  0.0846644   -18.517  < 2e-16 ***
origin_hex1520              1.0483915  0.0251342    41.712  < 2e-16 ***
origin_hex1521              0.3884695  0.0265219    14.647  < 2e-16 ***
origin_hex1522              2.7133961  0.0244453   110.999  < 2e-16 ***
origin_hex1523              0.7359670  0.0283776    25.935  < 2e-16 ***
origin_hex1524              1.1907201  0.0258376    46.085  < 2e-16 ***
origin_hex1527              0.3372697  0.0289291    11.658  < 2e-16 ***
origin_hex153              -1.7803352  0.0481000   -37.013  < 2e-16 ***
origin_hex1535             -2.3771729  0.0759643   -31.293  < 2e-16 ***
origin_hex1536             -1.6908891  0.0402372   -42.023  < 2e-16 ***
origin_hex1537             -0.9081673  0.0287447   -31.594  < 2e-16 ***
origin_hex1538              0.8874804  0.0249273    35.603  < 2e-16 ***
origin_hex1539              1.3639118  0.0247114    55.194  < 2e-16 ***
origin_hex154               1.5629202  0.0258227    60.525  < 2e-16 ***
origin_hex1540              2.0334837  0.0245752    82.745  < 2e-16 ***
origin_hex1541              2.8305757  0.0246879   114.654  < 2e-16 ***
origin_hex1542              0.2480041  0.0281200     8.820  < 2e-16 ***
origin_hex1543              0.9781718  0.0310760    31.477  < 2e-16 ***
origin_hex1544              1.7776739  0.0250063    71.089  < 2e-16 ***
origin_hex1547             -1.9944079  0.0626280   -31.845  < 2e-16 ***
origin_hex155              -1.4294817  0.0407966   -35.039  < 2e-16 ***
origin_hex1556             -1.0175957  0.0584291   -17.416  < 2e-16 ***
origin_hex1557             -1.7160398  0.0391498   -43.833  < 2e-16 ***
origin_hex1558             -0.1216792  0.0299044    -4.069 4.72e-05 ***
origin_hex1559              1.4750188  0.0246470    59.846  < 2e-16 ***
origin_hex156              -0.7071040  0.0455512   -15.523  < 2e-16 ***
origin_hex1560              2.3869414  0.0244610    97.581  < 2e-16 ***
origin_hex1561              2.2084062  0.0246081    89.743  < 2e-16 ***
origin_hex1562             -0.7221176  0.0307711   -23.467  < 2e-16 ***
origin_hex1563              0.9281044  0.0252030    36.825  < 2e-16 ***
origin_hex1564              0.3050754  0.0272829    11.182  < 2e-16 ***
origin_hex1565              0.1320352  0.0275845     4.787 1.70e-06 ***
origin_hex1566             -0.3918583  0.0308578   -12.699  < 2e-16 ***
origin_hex1567             -2.4600254  0.0802302   -30.662  < 2e-16 ***
origin_hex1568             -1.6924713  0.0658350   -25.708  < 2e-16 ***
origin_hex1578             -3.2203973  0.7075233    -4.552 5.32e-06 ***
origin_hex1580              0.1571991  0.0283398     5.547 2.91e-08 ***
origin_hex1581             -1.1312646  0.0311104   -36.363  < 2e-16 ***
origin_hex1582              2.0148224  0.0244893    82.273  < 2e-16 ***
origin_hex1583             -0.0245776  0.0311649    -0.789 0.430329    
origin_hex1584              0.6622910  0.0261199    25.356  < 2e-16 ***
origin_hex1585              1.2917550  0.0256944    50.274  < 2e-16 ***
origin_hex1586              0.3680036  0.0269867    13.636  < 2e-16 ***
origin_hex1589             -3.0001747  0.1144069   -26.224  < 2e-16 ***
origin_hex1590             -1.7031133  0.0623640   -27.309  < 2e-16 ***
origin_hex1600              1.7636144  0.0258318    68.273  < 2e-16 ***
origin_hex1601              0.5414917  0.0252314    21.461  < 2e-16 ***
origin_hex1602              1.6402854  0.0248869    65.910  < 2e-16 ***
origin_hex1603              2.2276162  0.0244989    90.927  < 2e-16 ***
origin_hex1604              0.8137756  0.0253395    32.115  < 2e-16 ***
origin_hex1605              1.8974919  0.0245440    77.310  < 2e-16 ***
origin_hex1606              2.1663820  0.0257309    84.194  < 2e-16 ***
origin_hex1607              0.7348072  0.0258563    28.419  < 2e-16 ***
origin_hex1608              2.2915036  0.0245761    93.241  < 2e-16 ***
origin_hex1609              1.8342380  0.0247898    73.992  < 2e-16 ***
origin_hex1610             -1.6127621  0.0668200   -24.136  < 2e-16 ***
origin_hex1622              0.7009907  0.0312169    22.456  < 2e-16 ***
origin_hex1623              1.8737596  0.0245174    76.426  < 2e-16 ***
origin_hex1624              0.9320891  0.0254397    36.639  < 2e-16 ***
origin_hex1625              2.1588773  0.0246090    87.727  < 2e-16 ***
origin_hex1626              2.6202367  0.0244192   107.303  < 2e-16 ***
origin_hex1627              1.1503499  0.0251113    45.810  < 2e-16 ***
origin_hex1628              2.7677479  0.0244323   113.282  < 2e-16 ***
origin_hex1629              1.5174792  0.0250804    60.504  < 2e-16 ***
origin_hex1630              1.3595671  0.0253333    53.667  < 2e-16 ***
origin_hex1631             -2.2457430  0.0639174   -35.135  < 2e-16 ***
origin_hex1642             -0.4763641  0.0362729   -13.133  < 2e-16 ***
origin_hex1643              1.8166879  0.0245748    73.925  < 2e-16 ***
origin_hex1644              0.0892849  0.0288839     3.091 0.001994 ** 
origin_hex1645              1.3303726  0.0248902    53.450  < 2e-16 ***
origin_hex1646              1.2976713  0.0256454    50.601  < 2e-16 ***
origin_hex1647              1.3358644  0.0248048    53.855  < 2e-16 ***
origin_hex1648              1.9332980  0.0246313    78.489  < 2e-16 ***
origin_hex1649              2.5653992  0.0244652   104.859  < 2e-16 ***
origin_hex1650              2.1164401  0.0247229    85.607  < 2e-16 ***
origin_hex1664             -3.0498439  0.1684249   -18.108  < 2e-16 ***
origin_hex1665              2.0716474  0.0245060    84.536  < 2e-16 ***
origin_hex1666              0.8970361  0.0251115    35.722  < 2e-16 ***
origin_hex1667              1.8748937  0.0262552    71.410  < 2e-16 ***
origin_hex1668              2.0541742  0.0246170    83.445  < 2e-16 ***
origin_hex1670              2.7042151  0.0244288   110.698  < 2e-16 ***
origin_hex1671              3.2791978  0.0246978   132.773  < 2e-16 ***
origin_hex1672              2.1348133  0.0248363    85.955  < 2e-16 ***
origin_hex1684              1.1105385  0.0268512    41.359  < 2e-16 ***
origin_hex1685              1.7821906  0.0247417    72.032  < 2e-16 ***
origin_hex1686              1.6402388  0.0247494    66.274  < 2e-16 ***
origin_hex1687              1.4411268  0.0252179    57.147  < 2e-16 ***
origin_hex1688              0.7945171  0.0255104    31.145  < 2e-16 ***
origin_hex1689              0.2612083  0.0269301     9.699  < 2e-16 ***
origin_hex1690              1.7842485  0.0250068    71.351  < 2e-16 ***
origin_hex1691              2.3393047  0.0245719    95.202  < 2e-16 ***
origin_hex1692              1.2142556  0.0254261    47.756  < 2e-16 ***
origin_hex1706              1.7493220  0.0249337    70.159  < 2e-16 ***
origin_hex1707              1.4742516  0.0246855    59.721  < 2e-16 ***
origin_hex1708              2.2339030  0.0245281    91.075  < 2e-16 ***
origin_hex1709              1.1728924  0.0250491    46.824  < 2e-16 ***
origin_hex1710              2.3600629  0.0245406    96.170  < 2e-16 ***
origin_hex1711              2.0214924  0.0246670    81.951  < 2e-16 ***
origin_hex1712              2.6826027  0.0244257   109.827  < 2e-16 ***
origin_hex1713              0.0860910  0.0271115     3.175 0.001496 ** 
origin_hex1714              2.3326583  0.0246127    94.775  < 2e-16 ***
origin_hex172              -0.0075079  0.0796004    -0.094 0.924856    
origin_hex1727              1.8732881  0.0247309    75.747  < 2e-16 ***
origin_hex1728              1.8018078  0.0246471    73.104  < 2e-16 ***
origin_hex1729              1.2934965  0.0248150    52.126  < 2e-16 ***
origin_hex1730             -0.5165967  0.0313702   -16.468  < 2e-16 ***
origin_hex1731              1.7392638  0.0247741    70.205  < 2e-16 ***
origin_hex1732              2.4177908  0.0244686    98.812  < 2e-16 ***
origin_hex1733              2.0698033  0.0245972    84.148  < 2e-16 ***
origin_hex1734              1.9634097  0.0245637    79.931  < 2e-16 ***
origin_hex1735              2.6538870  0.0248586   106.760  < 2e-16 ***
origin_hex174              -1.6754749  0.0522533   -32.065  < 2e-16 ***
origin_hex1748              0.6677135  0.0258774    25.803  < 2e-16 ***
origin_hex1749              1.4664116  0.0246954    59.380  < 2e-16 ***
origin_hex175               0.6850372  0.0262486    26.098  < 2e-16 ***
origin_hex1750              0.7063964  0.0252243    28.005  < 2e-16 ***
origin_hex1751              0.4817352  0.0263549    18.279  < 2e-16 ***
origin_hex1753              2.3620423  0.0245000    96.410  < 2e-16 ***
origin_hex1754              2.5903613  0.0244255   106.051  < 2e-16 ***
origin_hex1755              2.0143111  0.0245861    81.929  < 2e-16 ***
origin_hex1756              1.7306927  0.0247484    69.932  < 2e-16 ***
origin_hex1757             -0.9450942  0.0343727   -27.495  < 2e-16 ***
origin_hex176               1.8718697  0.0249587    74.999  < 2e-16 ***
origin_hex1769              1.5006695  0.0248492    60.391  < 2e-16 ***
origin_hex1770              1.2100794  0.0260079    46.527  < 2e-16 ***
origin_hex1771              0.3575839  0.0261342    13.683  < 2e-16 ***
origin_hex1772              0.2762469  0.0336056     8.220  < 2e-16 ***
origin_hex1774              2.0934424  0.0245677    85.211  < 2e-16 ***
origin_hex1775              1.6085840  0.0247836    64.905  < 2e-16 ***
origin_hex1776              2.4788816  0.0244382   101.435  < 2e-16 ***
origin_hex1777              2.4490434  0.0245061    99.936  < 2e-16 ***
origin_hex1778              1.1526714  0.0259210    44.469  < 2e-16 ***
origin_hex1790              2.0622359  0.0246658    83.607  < 2e-16 ***
origin_hex1791              1.2993466  0.0249912    51.992  < 2e-16 ***
origin_hex1792              1.6507534  0.0250400    65.925  < 2e-16 ***
origin_hex1793             -0.3877622  0.0276445   -14.027  < 2e-16 ***
origin_hex1794              0.1572087  0.0365420     4.302 1.69e-05 ***
origin_hex1795             -0.9912294  0.0407102   -24.348  < 2e-16 ***
origin_hex1796              2.4004201  0.0245518    97.770  < 2e-16 ***
origin_hex1797              2.3530255  0.0245054    96.021  < 2e-16 ***
origin_hex1798              2.4536114  0.0245069   100.119  < 2e-16 ***
origin_hex1799              0.9217268  0.0255342    36.098  < 2e-16 ***
origin_hex1800             -1.5450777  0.0361540   -42.736  < 2e-16 ***
origin_hex1811              1.4293518  0.0252335    56.645  < 2e-16 ***
origin_hex1812              2.3678770  0.0244663    96.781  < 2e-16 ***
origin_hex1813              2.0795360  0.0245072    84.854  < 2e-16 ***
origin_hex1817              2.0196173  0.0247466    81.612  < 2e-16 ***
origin_hex1818              2.1476130  0.0245799    87.373  < 2e-16 ***
origin_hex1819              2.3978398  0.0244761    97.967  < 2e-16 ***
origin_hex1820             -0.8280675  0.0407674   -20.312  < 2e-16 ***
origin_hex1832              1.9214133  0.0247477    77.640  < 2e-16 ***
origin_hex1833              1.4660489  0.0248948    58.890  < 2e-16 ***
origin_hex1834              1.8399694  0.0246189    74.738  < 2e-16 ***
origin_hex1835              1.1412603  0.0252629    45.175  < 2e-16 ***
origin_hex1837             -1.4633134  0.0654141   -22.370  < 2e-16 ***
origin_hex1839              1.6243337  0.0250595    64.819  < 2e-16 ***
origin_hex1840              3.2779039  0.0243620   134.550  < 2e-16 ***
origin_hex1841             -1.1408817  0.0420178   -27.152  < 2e-16 ***
origin_hex1842              1.2269591  0.0263349    46.591  < 2e-16 ***
origin_hex1853              1.8229167  0.0246920    73.826  < 2e-16 ***
origin_hex1854              2.2035891  0.0246283    89.474  < 2e-16 ***
origin_hex1855              2.2507660  0.0245483    91.687  < 2e-16 ***
origin_hex1858              0.1435487  0.0349610     4.106 4.03e-05 ***
origin_hex1860              2.8281567  0.0255325   110.767  < 2e-16 ***
origin_hex1861              2.1134087  0.0246074    85.885  < 2e-16 ***
origin_hex1874              2.1826200  0.0249032    87.644  < 2e-16 ***
origin_hex1875              0.4631330  0.0271501    17.058  < 2e-16 ***
origin_hex1876              2.3831114  0.0260438    91.504  < 2e-16 ***
origin_hex1877              1.9026557  0.0246555    77.170  < 2e-16 ***
origin_hex1880             -1.1402046  0.0560937   -20.327  < 2e-16 ***
origin_hex1882              2.1598338  0.0246759    87.528  < 2e-16 ***
origin_hex1883              1.8661352  0.0256649    72.712  < 2e-16 ***
origin_hex1895              2.1354329  0.0246405    86.664  < 2e-16 ***
origin_hex1896              0.5597497  0.0260478    21.489  < 2e-16 ***
origin_hex1897              1.4094249  0.0257150    54.810  < 2e-16 ***
origin_hex1898             -3.3061371  0.1346584   -24.552  < 2e-16 ***
origin_hex1901             -1.2658042  0.0636330   -19.892  < 2e-16 ***
origin_hex1903              1.0383007  0.0256814    40.430  < 2e-16 ***
origin_hex1917              0.8519834  0.0257897    33.036  < 2e-16 ***
origin_hex1918              2.8984835  0.0248319   116.724  < 2e-16 ***
origin_hex1919              1.9852589  0.0247207    80.307  < 2e-16 ***
origin_hex1922             -0.1430547  0.0371579    -3.850 0.000118 ***
origin_hex1924              0.7839374  0.0258462    30.331  < 2e-16 ***
origin_hex1937              1.4257258  0.0250933    56.817  < 2e-16 ***
origin_hex1938              2.2078071  0.0245897    89.786  < 2e-16 ***
origin_hex1939              3.0505337  0.0245212   124.404  < 2e-16 ***
origin_hex1942             -1.3176469  0.0527897   -24.960  < 2e-16 ***
origin_hex195              -2.1584408  0.0844110   -25.571  < 2e-16 ***
origin_hex1959              1.1828376  0.0256053    46.195  < 2e-16 ***
origin_hex196              -1.5936860  0.0484110   -32.920  < 2e-16 ***
origin_hex1960              3.0019627  0.0243717   123.174  < 2e-16 ***
origin_hex1961              1.7388923  0.0250985    69.283  < 2e-16 ***
origin_hex1962              2.5614102  0.0245679   104.258  < 2e-16 ***
origin_hex1964             -2.2508836  0.0913286   -24.646  < 2e-16 ***
origin_hex197              -2.1695370  0.1124162   -19.299  < 2e-16 ***
origin_hex1979              1.3378464  0.0253743    52.725  < 2e-16 ***
origin_hex1980             -0.0627252  0.0277126    -2.263 0.023610 *  
origin_hex1981              2.4441162  0.0245709    99.472  < 2e-16 ***
origin_hex1982              1.1981101  0.0264434    45.308  < 2e-16 ***
origin_hex1983              2.6884166  0.0245698   109.420  < 2e-16 ***
origin_hex1984              1.4431275  0.0252687    57.111  < 2e-16 ***
origin_hex1985              1.7619358  0.0249600    70.590  < 2e-16 ***
origin_hex2001              1.7023603  0.0248671    68.458  < 2e-16 ***
origin_hex2002              2.4141544  0.0244882    98.584  < 2e-16 ***
origin_hex2003              2.0011659  0.0247025    81.011  < 2e-16 ***
origin_hex2004              2.8890242  0.0245364   117.744  < 2e-16 ***
origin_hex2005              2.6961429  0.0245409   109.863  < 2e-16 ***
origin_hex2006              1.2504322  0.0258235    48.422  < 2e-16 ***
origin_hex2007              0.0961059  0.0288412     3.332 0.000861 ***
origin_hex2022              2.3587357  0.0248457    94.935  < 2e-16 ***
origin_hex2023              2.6767884  0.0244736   109.374  < 2e-16 ***
origin_hex2024              2.0506134  0.0246388    83.227  < 2e-16 ***
origin_hex2025              2.3127609  0.0246170    93.950  < 2e-16 ***
origin_hex2026              0.9264480  0.0267434    34.642  < 2e-16 ***
origin_hex2027              1.8922511  0.0245175    77.180  < 2e-16 ***
origin_hex2043              1.2929469  0.0253072    51.090  < 2e-16 ***
origin_hex2044              2.3628589  0.0245527    96.236  < 2e-16 ***
origin_hex2045             -2.0594812  0.0781914   -26.339  < 2e-16 ***
origin_hex2046              2.3478809  0.0245014    95.827  < 2e-16 ***
origin_hex2047              2.3041964  0.0247105    93.248  < 2e-16 ***
origin_hex2048              2.4329217  0.0246161    98.835  < 2e-16 ***
origin_hex2049             -0.5247959  0.0277140   -18.936  < 2e-16 ***
origin_hex2064              2.3278853  0.0246574    94.409  < 2e-16 ***
origin_hex2065              0.9218240  0.0255346    36.101  < 2e-16 ***
origin_hex2066              1.0033395  0.0316983    31.653  < 2e-16 ***
origin_hex2067              3.2875257  0.0243498   135.012  < 2e-16 ***
origin_hex2068              2.6629861  0.0250945   106.118  < 2e-16 ***
origin_hex2069              1.9234377  0.0247835    77.610  < 2e-16 ***
origin_hex2085              0.7444510  0.0258729    28.773  < 2e-16 ***
origin_hex2086              2.5350924  0.0245216   103.382  < 2e-16 ***
origin_hex2087              1.3514476  0.0251945    53.641  < 2e-16 ***
origin_hex2088              2.0826128  0.0246080    84.631  < 2e-16 ***
origin_hex2089              1.5534674  0.0250180    62.094  < 2e-16 ***
origin_hex2090              2.8204600  0.0244359   115.423  < 2e-16 ***
origin_hex2091             -1.9395889  0.0720928   -26.904  < 2e-16 ***
origin_hex2105             -1.2072495  0.1038905   -11.620  < 2e-16 ***
origin_hex2106             -0.3160206  0.0305463   -10.346  < 2e-16 ***
origin_hex2107              0.5966411  0.0258319    23.097  < 2e-16 ***
origin_hex2108              2.0266137  0.0247688    81.821  < 2e-16 ***
origin_hex2109              1.9839842  0.0245987    80.654  < 2e-16 ***
origin_hex2110              1.7207412  0.0252001    68.283  < 2e-16 ***
origin_hex2111             -0.8304882  0.0460739   -18.025  < 2e-16 ***
origin_hex2128              0.5574364  0.0273875    20.354  < 2e-16 ***
origin_hex2129              0.0849533  0.0281293     3.020 0.002527 ** 
origin_hex2130              2.0797930  0.0244996    84.891  < 2e-16 ***
origin_hex2131              2.3922485  0.0245848    97.306  < 2e-16 ***
origin_hex2132              1.9024660  0.0248837    76.454  < 2e-16 ***
origin_hex2148              1.0522235  0.0265156    39.683  < 2e-16 ***
origin_hex2149             -0.1395795  0.0286398    -4.874 1.10e-06 ***
origin_hex215              -1.6669262  0.0859771   -19.388  < 2e-16 ***
origin_hex2150              1.8275647  0.0246018    74.286  < 2e-16 ***
origin_hex2151              2.7607038  0.0244354   112.980  < 2e-16 ***
origin_hex2152              2.8886769  0.0244756   118.022  < 2e-16 ***
origin_hex2153              2.0707230  0.0247940    83.517  < 2e-16 ***
origin_hex216               2.6724212  0.0247667   107.904  < 2e-16 ***
origin_hex217              -0.9757340  0.0316547   -30.824  < 2e-16 ***
origin_hex2171              1.4301856  0.0251523    56.861  < 2e-16 ***
origin_hex2172              1.9110394  0.0253564    75.367  < 2e-16 ***
origin_hex2173              1.9459471  0.0247163    78.731  < 2e-16 ***
origin_hex2174              2.3182855  0.0247180    93.789  < 2e-16 ***
origin_hex2191              1.0473898  0.0261373    40.073  < 2e-16 ***
origin_hex2192              0.5357768  0.0264220    20.278  < 2e-16 ***
origin_hex2193              1.7692774  0.0248884    71.089  < 2e-16 ***
origin_hex2194              2.0265991  0.0246933    82.071  < 2e-16 ***
origin_hex2195              1.8338960  0.0312866    58.616  < 2e-16 ***
origin_hex2212             -1.0615745  0.0834168   -12.726  < 2e-16 ***
origin_hex2213             -1.7674708  0.0450782   -39.209  < 2e-16 ***
origin_hex2214             -0.1016271  0.0341427    -2.977 0.002915 ** 
origin_hex2215              1.6648637  0.0250317    66.510  < 2e-16 ***
origin_hex2216              0.9465968  0.0263741    35.891  < 2e-16 ***
origin_hex2233             -1.4063157  0.0456495   -30.807  < 2e-16 ***
origin_hex2234             -0.1666826  0.0309422    -5.387 7.17e-08 ***
origin_hex2235              0.5425173  0.0273453    19.840  < 2e-16 ***
origin_hex2236              0.5787772  0.0272235    21.260  < 2e-16 ***
origin_hex2237             -1.4470707  0.0586355   -24.679  < 2e-16 ***
origin_hex2256             -2.1189734  0.0556937   -38.047  < 2e-16 ***
origin_hex2257             -0.0536310  0.0303258    -1.768 0.076979 .  
origin_hex2258             -0.4011252  0.0298273   -13.448  < 2e-16 ***
origin_hex2259             -0.6464485  0.0425994   -15.175  < 2e-16 ***
origin_hex2277             -0.2807268  0.0460474    -6.096 1.08e-09 ***
origin_hex2278              0.5170458  0.0283666    18.227  < 2e-16 ***
origin_hex2279             -0.2399150  0.0307183    -7.810 5.71e-15 ***
origin_hex2280             -2.4656806  0.1033925   -23.848  < 2e-16 ***
origin_hex2297              1.8739172  0.0257081    72.892  < 2e-16 ***
origin_hex23               -1.0297658  0.1014783   -10.148  < 2e-16 ***
origin_hex2300             -1.7722627  0.0642070   -27.602  < 2e-16 ***
origin_hex2301             -0.1714057  0.0302352    -5.669 1.44e-08 ***
origin_hex2318              0.1491372  0.0302088     4.937 7.94e-07 ***
origin_hex2319              1.2555021  0.0261455    48.020  < 2e-16 ***
origin_hex2322              0.8063213  0.0269649    29.903  < 2e-16 ***
origin_hex2337              2.0463763  0.0285311    71.724  < 2e-16 ***
origin_hex2341              1.7962855  0.0257698    69.705  < 2e-16 ***
origin_hex2343              0.4849166  0.0278982    17.382  < 2e-16 ***
origin_hex2361              1.1885320  0.0263314    45.137  < 2e-16 ***
origin_hex2364             -1.9770597  0.0688355   -28.722  < 2e-16 ***
origin_hex237              -2.6938760  0.1580490   -17.045  < 2e-16 ***
origin_hex2379              1.8772561  0.0295996    63.422  < 2e-16 ***
origin_hex238              -1.4993988  0.0565100   -26.533  < 2e-16 ***
origin_hex2384              1.1681416  0.0281194    41.542  < 2e-16 ***
origin_hex239              -2.3911291  0.1599662   -14.948  < 2e-16 ***
origin_hex2405              0.8798939  0.0280445    31.375  < 2e-16 ***
origin_hex2406             -0.6810551  0.0410102   -16.607  < 2e-16 ***
origin_hex2426              1.4116334  0.0356982    39.544  < 2e-16 ***
origin_hex2427              1.6500750  0.0263297    62.670  < 2e-16 ***
origin_hex2505              1.1732800  0.0436042    26.908  < 2e-16 ***
origin_hex257              -1.6669145  0.0614326   -27.134  < 2e-16 ***
origin_hex258              -0.9983065  0.0363431   -27.469  < 2e-16 ***
origin_hex259              -1.3494617  0.0470103   -28.706  < 2e-16 ***
origin_hex278              -0.2508771  0.0453375    -5.534 3.14e-08 ***
origin_hex279              -1.7512839  0.0492015   -35.594  < 2e-16 ***
origin_hex280              -1.7090250  0.0512431   -33.351  < 2e-16 ***
origin_hex298              -3.6650928  0.3342161   -10.966  < 2e-16 ***
origin_hex299              -1.7456960  0.0551918   -31.630  < 2e-16 ***
origin_hex300               1.4596597  0.0257109    56.772  < 2e-16 ***
origin_hex320              -1.6652658  0.0681014   -24.453  < 2e-16 ***
origin_hex321              -1.1381095  0.0750995   -15.155  < 2e-16 ***
origin_hex322              -0.4385621  0.0526099    -8.336  < 2e-16 ***
origin_hex340              -0.3149927  0.0364508    -8.642  < 2e-16 ***
origin_hex341              -1.9541218  0.0503858   -38.783  < 2e-16 ***
origin_hex342              -1.3371274  0.0477334   -28.012  < 2e-16 ***
origin_hex363              -0.3962415  0.0441781    -8.969  < 2e-16 ***
origin_hex364              -0.0984321  0.0358740    -2.744 0.006073 ** 
origin_hex383              -0.6992145  0.0394623   -17.719  < 2e-16 ***
origin_hex384              -3.4229802  0.0574444   -59.588  < 2e-16 ***
origin_hex385              -0.5155180  0.0519929    -9.915  < 2e-16 ***
origin_hex404               0.1029474  0.0417117     2.468 0.013584 *  
origin_hex405              -1.2700627  0.0542934   -23.393  < 2e-16 ***
origin_hex406               2.7457500  0.0243898   112.578  < 2e-16 ***
origin_hex407              -0.5843663  0.0514036   -11.368  < 2e-16 ***
origin_hex408               0.2474973  0.0332047     7.454 9.08e-14 ***
origin_hex425              -2.3089189  0.0913289   -25.281  < 2e-16 ***
origin_hex426              -1.0282773  0.0381362   -26.963  < 2e-16 ***
origin_hex427              -1.2911206  0.0428842   -30.107  < 2e-16 ***
origin_hex428              -1.6426767  0.0815448   -20.144  < 2e-16 ***
origin_hex429               0.5980785  0.0331066    18.065  < 2e-16 ***
origin_hex44               -3.2117191  0.1407810   -22.814  < 2e-16 ***
origin_hex446              -1.0351350  0.0635396   -16.291  < 2e-16 ***
origin_hex447              -1.4580302  0.0506498   -28.787  < 2e-16 ***
origin_hex448              -0.4238060  0.0368807   -11.491  < 2e-16 ***
origin_hex449               1.7670916  0.0249828    70.732  < 2e-16 ***
origin_hex450               0.3339446  0.0310992    10.738  < 2e-16 ***
origin_hex46               -1.8508229  0.0906803   -20.410  < 2e-16 ***
origin_hex468              -0.1681665  0.0367133    -4.581 4.64e-06 ***
origin_hex469               0.0294189  0.0298600     0.985 0.324512    
origin_hex470               2.5076276  0.0246463   101.745  < 2e-16 ***
origin_hex471               0.8511944  0.0290079    29.343  < 2e-16 ***
origin_hex488              -1.5564748  0.0622783   -24.992  < 2e-16 ***
origin_hex489              -3.2117514  0.2511752   -12.787  < 2e-16 ***
origin_hex490               1.0886620  0.0267801    40.652  < 2e-16 ***
origin_hex491               1.2365224  0.0253193    48.837  < 2e-16 ***
origin_hex493              -3.0264202  0.1407825   -21.497  < 2e-16 ***
origin_hex494              -0.9896145  0.0636329   -15.552  < 2e-16 ***
origin_hex509              -0.7421607  0.0415228   -17.874  < 2e-16 ***
origin_hex510              -0.2611826  0.0345181    -7.567 3.83e-14 ***
origin_hex511               0.5828642  0.0264391    22.046  < 2e-16 ***
origin_hex512               2.9598107  0.0244402   121.104  < 2e-16 ***
origin_hex513              -0.2851695  0.0340645    -8.371  < 2e-16 ***
origin_hex514              -0.3836016  0.0440073    -8.717  < 2e-16 ***
origin_hex515              -2.6869333  0.1394878   -19.263  < 2e-16 ***
origin_hex530              -1.7425731  0.0844097   -20.644  < 2e-16 ***
origin_hex531              -0.3469427  0.0315010   -11.014  < 2e-16 ***
origin_hex532              -0.5124109  0.0333650   -15.358  < 2e-16 ***
origin_hex533               2.9330131  0.0244481   119.969  < 2e-16 ***
origin_hex534               3.4920284  0.0244888   142.597  < 2e-16 ***
origin_hex536              -0.1157727  0.0348135    -3.326 0.000883 ***
origin_hex537              -2.5045914  0.1394879   -17.956  < 2e-16 ***
origin_hex538              -2.7756458  0.2055618   -13.503  < 2e-16 ***
origin_hex539              -5.0291299  0.5778601    -8.703  < 2e-16 ***
origin_hex551              -1.6093486  0.0591275   -27.218  < 2e-16 ***
origin_hex552               0.4588130  0.0437636    10.484  < 2e-16 ***
origin_hex553              -0.7090617  0.0307319   -23.073  < 2e-16 ***
origin_hex554               2.8169835  0.0244858   115.046  < 2e-16 ***
origin_hex555               2.3278954  0.0251373    92.607  < 2e-16 ***
origin_hex559              -1.9550151  0.0963565   -20.289  < 2e-16 ***
origin_hex560              -0.1397139  0.0531610    -2.628 0.008586 ** 
origin_hex572              -3.7995270  0.2249200   -16.893  < 2e-16 ***
origin_hex573              -1.0955272  0.0497935   -22.001  < 2e-16 ***
origin_hex574              -0.4555562  0.0434485   -10.485  < 2e-16 ***
origin_hex575               3.7613865  0.0243241   154.636  < 2e-16 ***
origin_hex576               2.6070080  0.0246906   105.587  < 2e-16 ***
origin_hex578              -2.5144304  0.1099236   -22.874  < 2e-16 ***
origin_hex582              -2.3340725  0.1093278   -21.349  < 2e-16 ***
origin_hex583              -3.0168851  0.1976119   -15.267  < 2e-16 ***
origin_hex584              -0.1159236  0.0601605    -1.927 0.053992 .  
origin_hex593              -1.2831452  0.0550819   -23.295  < 2e-16 ***
origin_hex594              -0.0581143  0.0354174    -1.641 0.100831    
origin_hex595              -0.5434665  0.0312471   -17.393  < 2e-16 ***
origin_hex596               2.4020744  0.0245850    97.705  < 2e-16 ***
origin_hex597              -0.9546508  0.0636331   -15.002  < 2e-16 ***
origin_hex603              -2.0913294  0.1111469   -18.816  < 2e-16 ***
origin_hex604              -3.7285232  0.2683608   -13.894  < 2e-16 ***
origin_hex615              -1.7206821  0.0501210   -34.331  < 2e-16 ***
origin_hex616              -0.5596425  0.0377790   -14.814  < 2e-16 ***
origin_hex617               0.2384991  0.0297881     8.007 1.18e-15 ***
origin_hex618               2.7815904  0.0245017   113.527  < 2e-16 ***
origin_hex620              -0.5688224  0.0404076   -14.077  < 2e-16 ***
origin_hex637              -1.1639594  0.0460741   -25.263  < 2e-16 ***
origin_hex638               2.5105192  0.0245595   102.222  < 2e-16 ***
origin_hex657               0.1912612  0.0290919     6.574 4.89e-11 ***
origin_hex658               1.7005108  0.0250189    67.969  < 2e-16 ***
origin_hex659               2.0794393  0.0247947    83.866  < 2e-16 ***
origin_hex66               -2.1422479  0.1273342   -16.824  < 2e-16 ***
origin_hex660               3.1227237  0.0244316   127.815  < 2e-16 ***
origin_hex662               2.3871481  0.0252242    94.637  < 2e-16 ***
origin_hex67               -0.1423652  0.0347114    -4.101 4.11e-05 ***
origin_hex677              -0.0407275  0.0329672    -1.235 0.216684    
origin_hex678              -1.7046093  0.0498657   -34.184  < 2e-16 ***
origin_hex679               2.8590297  0.0244765   116.807  < 2e-16 ***
origin_hex68               -2.5431705  0.1313616   -19.360  < 2e-16 ***
origin_hex680               3.0885140  0.0244714   126.209  < 2e-16 ***
origin_hex681               2.3510160  0.0256078    91.809  < 2e-16 ***
origin_hex699              -0.1204823  0.0327079    -3.684 0.000230 ***
origin_hex700               1.8953022  0.0249491    75.967  < 2e-16 ***
origin_hex701               1.9596770  0.0249678    78.488  < 2e-16 ***
origin_hex702               2.9741550  0.0244601   121.592  < 2e-16 ***
origin_hex704              -0.5314481  0.0400521   -13.269  < 2e-16 ***
origin_hex722               0.0589473  0.0300818     1.960 0.050047 .  
origin_hex725              -1.2568030  0.0498287   -25.222  < 2e-16 ***
origin_hex741               0.4956821  0.0291744    16.990  < 2e-16 ***
origin_hex743               0.2289582  0.0271407     8.436  < 2e-16 ***
origin_hex744               2.4340131  0.0246142    98.887  < 2e-16 ***
origin_hex761              -0.2064889  0.0363391    -5.682 1.33e-08 ***
origin_hex762               1.9666181  0.0251914    78.067  < 2e-16 ***
origin_hex763              -1.3345699  0.0366952   -36.369  < 2e-16 ***
origin_hex764               2.7396494  0.0244528   112.038  < 2e-16 ***
origin_hex765               1.7563527  0.0255290    68.798  < 2e-16 ***
origin_hex767               3.0552278  0.0244916   124.746  < 2e-16 ***
origin_hex772              -1.7316252  0.0759627   -22.796  < 2e-16 ***
origin_hex784              -0.8734757  0.0337005   -25.919  < 2e-16 ***
origin_hex785               1.9213691  0.0245969    78.114  < 2e-16 ***
origin_hex786               1.5431513  0.0249342    61.889  < 2e-16 ***
origin_hex787               2.0158009  0.0252415    79.861  < 2e-16 ***
origin_hex788               2.4202380  0.0247671    97.720  < 2e-16 ***
origin_hex789               0.4206242  0.0263435    15.967  < 2e-16 ***
origin_hex803              -1.5742601  0.0544462   -28.914  < 2e-16 ***
origin_hex804               2.7035287  0.0245570   110.092  < 2e-16 ***
origin_hex805               2.5126140  0.0244534   102.751  < 2e-16 ***
origin_hex806               2.0853992  0.0245911    84.803  < 2e-16 ***
origin_hex807               2.8276772  0.0245787   115.046  < 2e-16 ***
origin_hex808               1.1195161  0.0265237    42.208  < 2e-16 ***
origin_hex809               2.7952698  0.0244620   114.270  < 2e-16 ***
origin_hex810               2.1473264  0.0248285    86.486  < 2e-16 ***
origin_hex814              -0.2296575  0.0366332    -6.269 3.63e-10 ***
origin_hex819               4.5017378  0.0297306   151.417  < 2e-16 ***
origin_hex824              -0.9213873  0.0453352   -20.324  < 2e-16 ***
origin_hex826               0.2840859  0.0261750    10.853  < 2e-16 ***
origin_hex827               2.3618523  0.0245130    96.351  < 2e-16 ***
origin_hex828               2.4476077  0.0244937    99.928  < 2e-16 ***
origin_hex829               2.5223796  0.0246249   102.432  < 2e-16 ***
origin_hex830               2.6059059  0.0247393   105.335  < 2e-16 ***
origin_hex831               3.2238862  0.0243901   132.180  < 2e-16 ***
origin_hex832               2.2312590  0.0249424    89.456  < 2e-16 ***
origin_hex835              -0.9998291  0.0379675   -26.334  < 2e-16 ***
origin_hex844              -2.3613916  0.0815455   -28.958  < 2e-16 ***
origin_hex846               1.8554558  0.0247565    74.948  < 2e-16 ***
origin_hex847               0.8023819  0.0257802    31.124  < 2e-16 ***
origin_hex848               2.0668426  0.0246737    83.767  < 2e-16 ***
origin_hex849               0.9526082  0.0254189    37.476  < 2e-16 ***
origin_hex850               1.8974201  0.0247955    76.523  < 2e-16 ***
origin_hex851               2.3701747  0.0245622    96.497  < 2e-16 ***
origin_hex852               2.0580008  0.0249389    82.522  < 2e-16 ***
origin_hex853               3.2597557  0.0244864   133.125  < 2e-16 ***
origin_hex854              -0.4587940  0.0354047   -12.959  < 2e-16 ***
origin_hex855              -1.1416993  0.0497213   -22.962  < 2e-16 ***
origin_hex856              -0.2629855  0.0301303    -8.728  < 2e-16 ***
origin_hex86               -1.2263385  0.0774244   -15.839  < 2e-16 ***
origin_hex866              -0.5929302  0.0399504   -14.842  < 2e-16 ***
origin_hex867               0.7480960  0.0269225    27.787  < 2e-16 ***
origin_hex868              -0.0530385  0.0299361    -1.772 0.076441 .  
origin_hex869               2.8049562  0.0248892   112.698  < 2e-16 ***
origin_hex87               -1.4849528  0.0846660   -17.539  < 2e-16 ***
origin_hex870               2.9022076  0.0243956   118.964  < 2e-16 ***
origin_hex871               2.2384979  0.0248855    89.952  < 2e-16 ***
origin_hex872               0.6525271  0.0264989    24.625  < 2e-16 ***
origin_hex873               0.9369133  0.0261916    35.771  < 2e-16 ***
origin_hex874               0.6575867  0.0254971    25.791  < 2e-16 ***
origin_hex875              -2.3899351  0.0759632   -31.462  < 2e-16 ***
origin_hex876              -0.9945807  0.0397006   -25.052  < 2e-16 ***
origin_hex877              -1.7722661  0.0467875   -37.879  < 2e-16 ***
origin_hex88                0.4908393  0.0305183    16.083  < 2e-16 ***
origin_hex887               0.4371572  0.0276315    15.821  < 2e-16 ***
origin_hex888               1.7081171  0.0251422    67.938  < 2e-16 ***
origin_hex889              -1.2936854  0.0416151   -31.087  < 2e-16 ***
origin_hex89               -1.1587509  0.0551926   -20.995  < 2e-16 ***
origin_hex890               2.4484700  0.0244857    99.996  < 2e-16 ***
origin_hex891               0.7771021  0.0266454    29.165  < 2e-16 ***
origin_hex893               2.4445028  0.0245245    99.676  < 2e-16 ***
origin_hex894               0.5112246  0.0265117    19.283  < 2e-16 ***
origin_hex895               0.1346563  0.0285224     4.721 2.35e-06 ***
origin_hex896              -0.3852104  0.0350069   -11.004  < 2e-16 ***
origin_hex897              -2.1058683  0.0683418   -30.814  < 2e-16 ***
origin_hex898              -0.6090592  0.0378157   -16.106  < 2e-16 ***
origin_hex90               -2.3849768  0.1346584   -17.711  < 2e-16 ***
origin_hex908               1.3033567  0.0269399    48.380  < 2e-16 ***
origin_hex909               1.6405595  0.0248380    66.050  < 2e-16 ***
origin_hex910              -0.2333915  0.0296477    -7.872 3.49e-15 ***
origin_hex911               1.0199572  0.0256707    39.732  < 2e-16 ***
origin_hex912               2.1227281  0.0245752    86.377  < 2e-16 ***
origin_hex915               2.3497880  0.0245751    95.617  < 2e-16 ***
origin_hex917               1.6357916  0.0252458    64.795  < 2e-16 ***
origin_hex918              -1.4039549  0.0434665   -32.300  < 2e-16 ***
origin_hex919               1.1596518  0.0257793    44.984  < 2e-16 ***
origin_hex928               0.6220744  0.0276070    22.533  < 2e-16 ***
origin_hex929               2.1095589  0.0246145    85.704  < 2e-16 ***
origin_hex930               2.4872498  0.0243981   101.944  < 2e-16 ***
origin_hex931              -0.1920176  0.0293033    -6.553 5.65e-11 ***
origin_hex932               0.2336480  0.0297760     7.847 4.27e-15 ***
origin_hex933               2.1483979  0.0248167    86.571  < 2e-16 ***
origin_hex934              -0.4345971  0.0296290   -14.668  < 2e-16 ***
origin_hex935               3.0978178  0.0243948   126.987  < 2e-16 ***
origin_hex938              -3.8372164  0.2145778   -17.883  < 2e-16 ***
origin_hex939               3.0555964  0.0244839   124.800  < 2e-16 ***
origin_hex940              -2.0763301  0.0650026   -31.942  < 2e-16 ***
origin_hex949               0.4907256  0.0272477    18.010  < 2e-16 ***
origin_hex950               2.3248232  0.0246639    94.260  < 2e-16 ***
origin_hex951               3.1232486  0.0243559   128.234  < 2e-16 ***
origin_hex952               0.3744268  0.0319318    11.726  < 2e-16 ***
origin_hex953               1.2564945  0.0259142    48.487  < 2e-16 ***
origin_hex954              -0.4135686  0.0293012   -14.114  < 2e-16 ***
origin_hex955               1.7459891  0.0248226    70.339  < 2e-16 ***
origin_hex956               0.3503303  0.0266931    13.124  < 2e-16 ***
origin_hex957               2.2761950  0.0248147    91.728  < 2e-16 ***
origin_hex959              -0.7186104  0.0540868   -13.286  < 2e-16 ***
origin_hex961              -1.0733006  0.0383511   -27.986  < 2e-16 ***
origin_hex962               5.3400397  0.0245500   217.517  < 2e-16 ***
origin_hex970               1.1059920  0.0254284    43.494  < 2e-16 ***
origin_hex971               2.3095256  0.0244917    94.298  < 2e-16 ***
origin_hex972               1.8234786  0.0246442    73.992  < 2e-16 ***
origin_hex974               1.3170667  0.0252457    52.170  < 2e-16 ***
origin_hex975               1.0028160  0.0257236    38.984  < 2e-16 ***
origin_hex976              -0.4386002  0.0293625   -14.937  < 2e-16 ***
origin_hex977               2.7632484  0.0244774   112.890  < 2e-16 ***
origin_hex978               0.8637671  0.0251377    34.361  < 2e-16 ***
origin_hex982               0.2767054  0.0280697     9.858  < 2e-16 ***
origin_hex983               4.1655581  0.0244616   170.290  < 2e-16 ***
origin_hex984               5.0275855  0.0244660   205.493  < 2e-16 ***
origin_hex991               0.8829883  0.0257181    34.333  < 2e-16 ***
origin_hex992               1.4736751  0.0251163    58.674  < 2e-16 ***
origin_hex993               1.0445455  0.0252650    41.344  < 2e-16 ***
origin_hex994               0.4428299  0.0264828    16.721  < 2e-16 ***
origin_hex995               1.8541296  0.0248052    74.748  < 2e-16 ***
origin_hex996               1.0043219  0.0253002    39.696  < 2e-16 ***
origin_hex997              -0.3472078  0.0378250    -9.179  < 2e-16 ***
origin_hex998               2.6941669  0.0245016   109.959  < 2e-16 ***
origin_hex999               1.4142174  0.0247785    57.074  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 98559950  on 64884  degrees of freedom
Residual deviance: 40799159  on 64063  degrees of freedom
AIC: 41157502

Number of Fisher Scoring iterations: 7
Code
CalcRSquared(orcSIM2$data$trips, orcSIM2$fitted.values)
[1] 0.2495688
  • glm from stats R package is used to fit generalized linear models, specified by giving a symbolic description of the linear predictor and a description of the error distribution. In this code, it’s applied to the trips as the response variable and a set of predictor variables in the final_df data frame.
  • The formula trips ~ log(push_num_bus_stops) + log(push_trainexit_count) + log(push_est_pop) + log(distance) + destination_hex specifies that trips is modeled as a function of push_num_bus_stops, push_trainexit_count, push_est_pop, distance, and destination_hex. The log function is applied to transform the predictor variables.
  • The argument family = poisson(link = "log") specifies that a Poisson regression model is fitted with a log link function.
  • The argument na.action = na.exclude specifies that any missing values should be excluded from the model fitting process.
  • summary from base R package is used to produce result summaries of the results of various model fitting functions. In this code, it’s applied to the fitted model decSIM2 to obtain a summary of the model fit.
  • CalcRSquared is a user-defined function which is used to calculate the R-squared value of the fitted model. It takes the observed values decSIM2$data$trips and the fitted values decSIM2$fitted.values as inputs.

Key Coefficients: The Poisson regression model reveals insights into the relationship between predictor variables and the logarithm of trip counts. The following coefficients are statistically significant (p < 2e-16), indicating their importance in explaining variations in trip counts:

  • Intercept: 13.56
  • log(pull_trainexit_count): 0.831
  • log(pull_biz_count): 0.0971
  • log(pull_entertn_count): -0.1845
  • log(pull_fnb_count): -0.102
  • log(pull_schools_sf_count): 0.2595
  • log(distance): -1.2396
  • origin_hex1003: 2.632
  • origin_hex1004: 3.491
  • origin_hex1011: -0.5583
  • origin_hex1012: -0.6222
  • origin_hex1013: -0.0155
  • origin_hex1014: 0.4643
  • origin_hex1015: -0.1897
  • and various other dummy origin variables in which many are statistically significant.

Model Fit: The R-squared value for the model is approximately 0.250, indicating that around 25% of the variability in trip counts can be explained by the selected predictor variables. The model’s goodness-of-fit metrics, including the residual deviance and AIC, support its efficacy in capturing patterns within the dataset. Each predictor’s p-value underscores its significance in explaining the observed variation in trip counts. The non-significant p-value like origin_hex1013 suggests that this variable may not be a strong predictor of trip counts in this context.

Destination Constrained

Code
decSIM2 <- glm(formula = trips ~ 
                log(push_num_bus_stops) +
                #log(push_station_count) +
                log(push_trainexit_count) +
                #log(push_hdb_sf_count) +
                log(push_est_pop) +
                log(distance) +
                destination_hex,
              family = poisson(link = "log"),
              data = final_df,
              na.action = na.exclude)

summary(decSIM2)

Call:
glm(formula = trips ~ log(push_num_bus_stops) + log(push_trainexit_count) + 
    log(push_est_pop) + log(distance) + destination_hex, family = poisson(link = "log"), 
    data = final_df, na.action = na.exclude)

Coefficients:
                            Estimate Std. Error   z value Pr(>|z|)    
(Intercept)                1.364e+01  1.545e-02   883.155  < 2e-16 ***
log(push_num_bus_stops)    3.954e-01  4.961e-04   797.004  < 2e-16 ***
log(push_trainexit_count)  2.908e-01  3.254e-04   893.745  < 2e-16 ***
log(push_est_pop)          1.369e-01  7.656e-05  1788.468  < 2e-16 ***
log(distance)             -1.254e+00  2.159e-04 -5807.140  < 2e-16 ***
destination_hex1003        1.820e+00  1.559e-02   116.766  < 2e-16 ***
destination_hex1004        9.171e-01  1.595e-02    57.488  < 2e-16 ***
destination_hex1011       -7.199e-02  1.931e-02    -3.727 0.000194 ***
destination_hex1012        1.443e+00  1.634e-02    88.346  < 2e-16 ***
destination_hex1013        5.925e-02  1.700e-02     3.486 0.000490 ***
destination_hex1014       -1.564e+00  2.192e-02   -71.343  < 2e-16 ***
destination_hex1015        1.247e+00  1.583e-02    78.801  < 2e-16 ***
destination_hex1016        1.292e+00  1.572e-02    82.163  < 2e-16 ***
destination_hex1018       -1.958e-01  1.940e-02   -10.091  < 2e-16 ***
destination_hex1019        3.184e-01  1.630e-02    19.538  < 2e-16 ***
destination_hex1023       -6.483e-01  2.001e-02   -32.395  < 2e-16 ***
destination_hex1024        4.190e-01  1.653e-02    25.350  < 2e-16 ***
destination_hex1025       -3.474e+00  6.635e-02   -52.366  < 2e-16 ***
destination_hex1033        4.395e-01  1.665e-02    26.394  < 2e-16 ***
destination_hex1034        1.063e+00  1.591e-02    66.829  < 2e-16 ***
destination_hex1035        8.725e-01  1.597e-02    54.615  < 2e-16 ***
destination_hex1036        1.357e+00  1.574e-02    86.204  < 2e-16 ***
destination_hex1037        1.451e-01  1.640e-02     8.847  < 2e-16 ***
destination_hex1043        5.589e-01  1.867e-02    29.937  < 2e-16 ***
destination_hex1045        2.917e-01  1.631e-02    17.888  < 2e-16 ***
destination_hex1046        9.295e-01  1.627e-02    57.147  < 2e-16 ***
destination_hex1053        9.792e-01  1.597e-02    61.309  < 2e-16 ***
destination_hex1054        7.631e-01  1.603e-02    47.592  < 2e-16 ***
destination_hex1055       -1.033e-01  1.721e-02    -6.001 1.96e-09 ***
destination_hex1056       -8.007e-01  1.875e-02   -42.710  < 2e-16 ***
destination_hex1064       -2.858e+00  8.838e-02   -32.342  < 2e-16 ***
destination_hex1066        1.424e+00  1.575e-02    90.424  < 2e-16 ***
destination_hex1067        1.279e+00  1.652e-02    77.409  < 2e-16 ***
destination_hex1074       -1.111e+00  2.034e-02   -54.609  < 2e-16 ***
destination_hex1075        6.272e-01  1.638e-02    38.280  < 2e-16 ***
destination_hex1076       -7.869e-02  1.665e-02    -4.725 2.30e-06 ***
destination_hex1077       -7.180e-01  1.831e-02   -39.213  < 2e-16 ***
destination_hex1079        3.942e-01  1.632e-02    24.154  < 2e-16 ***
destination_hex1085       -1.087e+00  5.822e-02   -18.673  < 2e-16 ***
destination_hex1087        3.208e-01  1.638e-02    19.584  < 2e-16 ***
destination_hex1088        1.091e+00  1.617e-02    67.460  < 2e-16 ***
destination_hex109         4.893e-01  2.959e-02    16.535  < 2e-16 ***
destination_hex1094       -3.832e+00  5.050e-02   -75.872  < 2e-16 ***
destination_hex1095        1.050e-01  2.024e-02     5.188 2.12e-07 ***
destination_hex1096       -6.710e-02  2.118e-02    -3.168 0.001532 ** 
destination_hex1097        7.035e-01  1.583e-02    44.450  < 2e-16 ***
destination_hex1098       -1.606e+00  2.641e-02   -60.827  < 2e-16 ***
destination_hex1099       -1.894e-01  1.706e-02   -11.099  < 2e-16 ***
destination_hex110        -2.089e+00  1.017e-01   -20.543  < 2e-16 ***
destination_hex1105        1.677e+00  1.753e-02    95.687  < 2e-16 ***
destination_hex1106       -3.018e+00  8.619e-02   -35.018  < 2e-16 ***
destination_hex1107        1.257e-01  1.692e-02     7.432 1.07e-13 ***
destination_hex1108        2.520e+00  1.542e-02   163.451  < 2e-16 ***
destination_hex1109       -9.888e-01  2.583e-02   -38.278  < 2e-16 ***
destination_hex111         1.446e+00  1.894e-02    76.342  < 2e-16 ***
destination_hex1116       -1.225e-01  1.748e-02    -7.008 2.43e-12 ***
destination_hex1117        2.217e-01  1.671e-02    13.266  < 2e-16 ***
destination_hex1118       -1.601e+00  2.324e-02   -68.896  < 2e-16 ***
destination_hex1119       -8.526e-01  1.834e-02   -46.483  < 2e-16 ***
destination_hex112        -9.961e-01  3.367e-02   -29.581  < 2e-16 ***
destination_hex1120       -1.121e+00  2.251e-02   -49.777  < 2e-16 ***
destination_hex1129       -1.023e-01  1.708e-02    -5.991 2.09e-09 ***
destination_hex1130        5.773e-01  1.621e-02    35.619  < 2e-16 ***
destination_hex1131        1.919e+00  1.607e-02   119.428  < 2e-16 ***
destination_hex1136        9.994e-01  1.596e-02    62.620  < 2e-16 ***
destination_hex1138       -1.080e+00  2.253e-02   -47.963  < 2e-16 ***
destination_hex1139       -4.534e-01  1.673e-02   -27.107  < 2e-16 ***
destination_hex1141       -2.538e-01  1.703e-02   -14.905  < 2e-16 ***
destination_hex1148       -8.993e-01  3.293e-02   -27.313  < 2e-16 ***
destination_hex1149       -3.135e-01  2.010e-02   -15.595  < 2e-16 ***
destination_hex1150        1.389e-02  1.660e-02     0.836 0.402974    
destination_hex1151       -1.089e-01  1.654e-02    -6.586 4.52e-11 ***
destination_hex1158       -1.314e+00  1.844e-02   -71.279  < 2e-16 ***
destination_hex1159       -8.539e-01  1.756e-02   -48.623  < 2e-16 ***
destination_hex1160        7.930e-01  1.581e-02    50.167  < 2e-16 ***
destination_hex1171        5.379e-01  1.629e-02    33.018  < 2e-16 ***
destination_hex1172        1.832e+00  1.554e-02   117.938  < 2e-16 ***
destination_hex1173        1.273e+00  1.604e-02    79.414  < 2e-16 ***
destination_hex1174       -1.651e+00  4.413e-02   -37.412  < 2e-16 ***
destination_hex1178        1.129e+00  1.568e-02    71.983  < 2e-16 ***
destination_hex1179        1.933e-01  1.609e-02    12.009  < 2e-16 ***
destination_hex1180        2.706e-01  1.601e-02    16.900  < 2e-16 ***
destination_hex1181       -7.080e-01  1.763e-02   -40.166  < 2e-16 ***
destination_hex1183        8.902e-01  1.598e-02    55.717  < 2e-16 ***
destination_hex1190       -9.508e-01  3.245e-02   -29.300  < 2e-16 ***
destination_hex1192        9.017e-01  1.613e-02    55.919  < 2e-16 ***
destination_hex1193        6.381e-01  1.614e-02    39.537  < 2e-16 ***
destination_hex1194        9.285e-01  1.637e-02    56.730  < 2e-16 ***
destination_hex1200       -1.615e-02  1.674e-02    -0.965 0.334747    
destination_hex1201       -3.467e-01  1.687e-02   -20.548  < 2e-16 ***
destination_hex1203       -3.221e-01  1.716e-02   -18.769  < 2e-16 ***
destination_hex1204       -3.952e-01  1.755e-02   -22.520  < 2e-16 ***
destination_hex1211       -4.441e+00  2.778e-01   -15.988  < 2e-16 ***
destination_hex1214       -4.055e-01  1.741e-02   -23.297  < 2e-16 ***
destination_hex1215        2.094e-01  1.872e-02    11.183  < 2e-16 ***
destination_hex1216        6.083e-01  1.819e-02    33.440  < 2e-16 ***
destination_hex1220        2.460e-01  1.639e-02    15.008  < 2e-16 ***
destination_hex1221        5.420e-01  1.581e-02    34.289  < 2e-16 ***
destination_hex1222       -5.863e-01  1.953e-02   -30.018  < 2e-16 ***
destination_hex1223       -8.459e-01  1.880e-02   -44.981  < 2e-16 ***
destination_hex1224       -2.252e-01  1.713e-02   -13.149  < 2e-16 ***
destination_hex1231       -1.629e+00  5.919e-02   -27.521  < 2e-16 ***
destination_hex1232       -2.864e-01  2.876e-02    -9.958  < 2e-16 ***
destination_hex1235        5.580e-01  1.633e-02    34.171  < 2e-16 ***
destination_hex1236        2.950e-01  1.728e-02    17.068  < 2e-16 ***
destination_hex1241       -1.144e+00  1.910e-02   -59.914  < 2e-16 ***
destination_hex1242       -8.900e-01  1.763e-02   -50.493  < 2e-16 ***
destination_hex1243        2.670e-01  1.608e-02    16.603  < 2e-16 ***
destination_hex1246       -5.678e-01  1.741e-02   -32.616  < 2e-16 ***
destination_hex1256       -6.781e-01  1.843e-02   -36.801  < 2e-16 ***
destination_hex1257        7.409e-01  1.642e-02    45.122  < 2e-16 ***
destination_hex1258        1.285e+00  1.611e-02    79.779  < 2e-16 ***
destination_hex1262       -1.191e+00  1.970e-02   -60.455  < 2e-16 ***
destination_hex1263        7.902e-01  1.566e-02    50.455  < 2e-16 ***
destination_hex1264        1.025e-01  1.691e-02     6.062 1.34e-09 ***
destination_hex1265       -2.276e-02  1.707e-02    -1.334 0.182350    
destination_hex1266        1.772e-01  1.666e-02    10.636  < 2e-16 ***
destination_hex1267       -1.259e+00  2.218e-02   -56.771  < 2e-16 ***
destination_hex1272       -3.980e+00  1.122e-01   -35.480  < 2e-16 ***
destination_hex1273        5.930e-01  1.682e-02    35.247  < 2e-16 ***
destination_hex1277        6.939e-01  1.588e-02    43.703  < 2e-16 ***
destination_hex1278        4.291e-01  1.642e-02    26.131  < 2e-16 ***
destination_hex128         8.701e-01  2.680e-02    32.471  < 2e-16 ***
destination_hex1283        1.337e+00  1.565e-02    85.407  < 2e-16 ***
destination_hex1284        7.976e-01  1.574e-02    50.659  < 2e-16 ***
destination_hex1285        3.892e-01  1.591e-02    24.464  < 2e-16 ***
destination_hex1286       -5.010e-01  1.804e-02   -27.774  < 2e-16 ***
destination_hex1289       -2.710e+00  4.249e-02   -63.794  < 2e-16 ***
destination_hex129        -2.146e+00  1.136e-01   -18.898  < 2e-16 ***
destination_hex1293       -3.701e+00  7.590e-02   -48.766  < 2e-16 ***
destination_hex1294        3.085e-01  1.746e-02    17.669  < 2e-16 ***
destination_hex1295       -1.774e+00  2.694e-02   -65.855  < 2e-16 ***
destination_hex1298        1.904e-02  1.650e-02     1.154 0.248542    
destination_hex1299       -3.049e-01  1.759e-02   -17.334  < 2e-16 ***
destination_hex130         3.691e-01  2.661e-02    13.869  < 2e-16 ***
destination_hex1304        1.629e-01  1.633e-02     9.972  < 2e-16 ***
destination_hex1305        3.402e-01  1.584e-02    21.471  < 2e-16 ***
destination_hex1307       -1.144e+00  2.450e-02   -46.698  < 2e-16 ***
destination_hex1308        2.565e-01  1.620e-02    15.836  < 2e-16 ***
destination_hex131        -1.394e-01  2.875e-02    -4.850 1.23e-06 ***
destination_hex1310       -4.792e+00  1.896e-01   -25.272  < 2e-16 ***
destination_hex1316       -1.346e+00  2.195e-02   -61.298  < 2e-16 ***
destination_hex1317       -1.524e+00  2.010e-02   -75.794  < 2e-16 ***
destination_hex1318       -1.574e+00  2.192e-02   -71.802  < 2e-16 ***
destination_hex1319        1.256e+00  1.566e-02    80.259  < 2e-16 ***
destination_hex132         8.724e-01  2.123e-02    41.101  < 2e-16 ***
destination_hex1320       -8.939e-01  2.030e-02   -44.032  < 2e-16 ***
destination_hex1324        3.803e-01  2.175e-02    17.486  < 2e-16 ***
destination_hex1325       -1.469e+00  2.079e-02   -70.657  < 2e-16 ***
destination_hex1326       -8.771e-02  1.623e-02    -5.404 6.51e-08 ***
destination_hex1327        1.615e-01  1.612e-02    10.019  < 2e-16 ***
destination_hex1328        5.077e-02  1.655e-02     3.068 0.002157 ** 
destination_hex1329        1.074e-01  1.749e-02     6.142 8.17e-10 ***
destination_hex133         3.963e-01  1.961e-02    20.211  < 2e-16 ***
destination_hex1330        1.315e+00  1.611e-02    81.643  < 2e-16 ***
destination_hex1331       -5.114e+00  2.587e-01   -19.773  < 2e-16 ***
destination_hex1333       -1.728e+00  2.224e-02   -77.715  < 2e-16 ***
destination_hex1334       -1.037e+00  2.007e-02   -51.667  < 2e-16 ***
destination_hex1335        1.023e+00  1.623e-02    63.065  < 2e-16 ***
destination_hex1336       -2.791e+00  5.788e-02   -48.223  < 2e-16 ***
destination_hex1337       -2.541e+00  3.307e-02   -76.828  < 2e-16 ***
destination_hex1338       -2.351e+00  3.067e-02   -76.667  < 2e-16 ***
destination_hex1339        1.071e+00  1.573e-02    68.083  < 2e-16 ***
destination_hex134         1.132e-01  1.919e-02     5.897 3.69e-09 ***
destination_hex1340       -3.359e-01  1.777e-02   -18.906  < 2e-16 ***
destination_hex1341       -3.628e+00  9.744e-02   -37.233  < 2e-16 ***
destination_hex1346        4.403e-02  1.683e-02     2.616 0.008899 ** 
destination_hex1347        1.020e+00  1.570e-02    64.955  < 2e-16 ***
destination_hex1348       -2.912e-01  1.655e-02   -17.592  < 2e-16 ***
destination_hex1349        7.011e-01  1.614e-02    43.439  < 2e-16 ***
destination_hex1350       -4.462e-01  1.972e-02   -22.630  < 2e-16 ***
destination_hex1353       -2.573e-01  1.669e-02   -15.411  < 2e-16 ***
destination_hex1354       -1.111e+00  1.937e-02   -57.379  < 2e-16 ***
destination_hex1355       -7.977e-01  1.883e-02   -42.368  < 2e-16 ***
destination_hex1357       -1.362e+00  2.405e-02   -56.636  < 2e-16 ***
destination_hex1358        1.073e+00  1.573e-02    68.172  < 2e-16 ***
destination_hex1359        9.121e-03  1.662e-02     0.549 0.583108    
destination_hex1360       -3.152e-01  1.693e-02   -18.616  < 2e-16 ***
destination_hex1361       -2.021e-01  1.755e-02   -11.512  < 2e-16 ***
destination_hex1362       -1.814e+00  3.278e-02   -55.350  < 2e-16 ***
destination_hex1368       -8.491e-01  1.766e-02   -48.086  < 2e-16 ***
destination_hex1369       -8.644e-01  1.746e-02   -49.491  < 2e-16 ***
destination_hex1370        8.923e-01  1.571e-02    56.805  < 2e-16 ***
destination_hex1371       -1.724e-02  1.705e-02    -1.011 0.312146    
destination_hex1372        4.358e-03  1.678e-02     0.260 0.795130    
destination_hex1373       -2.947e+00  3.646e-02   -80.820  < 2e-16 ***
destination_hex1374       -1.697e+00  2.289e-02   -74.119  < 2e-16 ***
destination_hex1375        2.666e-01  1.691e-02    15.766  < 2e-16 ***
destination_hex1376       -1.300e+00  2.272e-02   -57.230  < 2e-16 ***
destination_hex1379       -3.496e+00  6.508e-02   -53.722  < 2e-16 ***
destination_hex1380        1.838e+00  1.551e-02   118.542  < 2e-16 ***
destination_hex1381        2.155e+00  1.546e-02   139.374  < 2e-16 ***
destination_hex1382        1.313e+00  1.589e-02    82.650  < 2e-16 ***
destination_hex1383       -1.466e+00  2.467e-02   -59.417  < 2e-16 ***
destination_hex1388       -2.182e-01  1.653e-02   -13.205  < 2e-16 ***
destination_hex1389       -5.704e-01  1.687e-02   -33.811  < 2e-16 ***
destination_hex1390       -1.887e-01  1.661e-02   -11.363  < 2e-16 ***
destination_hex1391        7.366e-01  1.604e-02    45.927  < 2e-16 ***
destination_hex1392        6.160e-01  1.962e-02    31.400  < 2e-16 ***
destination_hex1393       -7.790e-01  1.750e-02   -44.511  < 2e-16 ***
destination_hex1394       -3.450e-01  1.649e-02   -20.917  < 2e-16 ***
destination_hex1395       -4.384e-01  1.680e-02   -26.096  < 2e-16 ***
destination_hex1396        4.731e-01  1.614e-02    29.312  < 2e-16 ***
destination_hex1397       -7.303e-01  1.704e-02   -42.849  < 2e-16 ***
destination_hex1398       -9.493e-01  2.061e-02   -46.065  < 2e-16 ***
destination_hex1400       -8.260e-01  1.886e-02   -43.794  < 2e-16 ***
destination_hex1401        1.053e+00  1.563e-02    67.338  < 2e-16 ***
destination_hex1402        3.544e-01  1.619e-02    21.890  < 2e-16 ***
destination_hex1404       -1.725e-01  2.661e-02    -6.484 8.96e-11 ***
destination_hex1410        5.515e-01  1.576e-02    35.001  < 2e-16 ***
destination_hex1411       -3.325e-01  1.673e-02   -19.880  < 2e-16 ***
destination_hex1412        5.980e-01  1.582e-02    37.793  < 2e-16 ***
destination_hex1413        2.651e-01  1.619e-02    16.371  < 2e-16 ***
destination_hex1414       -2.926e-01  1.634e-02   -17.902  < 2e-16 ***
destination_hex1415        2.339e-01  1.619e-02    14.446  < 2e-16 ***
destination_hex1416       -5.198e-01  1.706e-02   -30.462  < 2e-16 ***
destination_hex1417       -9.147e-02  1.629e-02    -5.616 1.96e-08 ***
destination_hex1418       -3.177e-02  1.627e-02    -1.953 0.050810 .  
destination_hex1419       -4.618e-01  1.710e-02   -27.005  < 2e-16 ***
destination_hex1422        2.183e-01  1.645e-02    13.271  < 2e-16 ***
destination_hex1423        7.811e-01  1.610e-02    48.521  < 2e-16 ***
destination_hex1430        2.007e-01  1.605e-02    12.506  < 2e-16 ***
destination_hex1431        8.229e-01  1.570e-02    52.402  < 2e-16 ***
destination_hex1432        4.702e-01  1.583e-02    29.710  < 2e-16 ***
destination_hex1433       -1.923e-01  1.781e-02   -10.795  < 2e-16 ***
destination_hex1434        6.760e-01  1.580e-02    42.770  < 2e-16 ***
destination_hex1435        2.192e-01  1.598e-02    13.718  < 2e-16 ***
destination_hex1436       -8.665e-01  1.860e-02   -46.592  < 2e-16 ***
destination_hex1437       -3.083e-01  1.654e-02   -18.645  < 2e-16 ***
destination_hex1438        3.632e-01  1.585e-02    22.919  < 2e-16 ***
destination_hex1439        1.115e+00  1.566e-02    71.211  < 2e-16 ***
destination_hex1440        4.581e-01  1.643e-02    27.882  < 2e-16 ***
destination_hex1442       -1.555e+00  2.245e-02   -69.248  < 2e-16 ***
destination_hex1443        2.352e-01  1.633e-02    14.404  < 2e-16 ***
destination_hex1444        1.190e+00  1.634e-02    72.827  < 2e-16 ***
destination_hex1452        7.674e-01  1.562e-02    49.122  < 2e-16 ***
destination_hex1453        2.073e-01  1.606e-02    12.907  < 2e-16 ***
destination_hex1454       -1.056e+00  1.889e-02   -55.915  < 2e-16 ***
destination_hex1455       -1.732e-01  1.678e-02   -10.325  < 2e-16 ***
destination_hex1456        9.445e-02  1.630e-02     5.793 6.92e-09 ***
destination_hex1457        9.639e-01  1.590e-02    60.634  < 2e-16 ***
destination_hex1458        1.657e+00  1.549e-02   106.969  < 2e-16 ***
destination_hex1459       -8.522e-01  1.727e-02   -49.345  < 2e-16 ***
destination_hex1460        4.428e-01  1.587e-02    27.895  < 2e-16 ***
destination_hex1461        2.373e-01  1.659e-02    14.307  < 2e-16 ***
destination_hex1464       -3.074e-01  1.680e-02   -18.302  < 2e-16 ***
destination_hex1465       -4.844e-01  1.848e-02   -26.217  < 2e-16 ***
destination_hex1472       -1.851e-01  1.682e-02   -11.001  < 2e-16 ***
destination_hex1473        7.821e-01  1.571e-02    49.770  < 2e-16 ***
destination_hex1474        5.384e-01  1.566e-02    34.377  < 2e-16 ***
destination_hex1475        5.695e-01  1.582e-02    35.991  < 2e-16 ***
destination_hex1476       -4.076e-01  1.681e-02   -24.244  < 2e-16 ***
destination_hex1477        1.555e+00  1.547e-02   100.508  < 2e-16 ***
destination_hex1478        9.113e-03  1.615e-02     0.564 0.572480    
destination_hex1479       -7.330e-01  1.697e-02   -43.186  < 2e-16 ***
destination_hex1480        1.575e+00  1.548e-02   101.744  < 2e-16 ***
destination_hex1481        2.011e-01  1.634e-02    12.308  < 2e-16 ***
destination_hex1482        1.027e+00  1.600e-02    64.200  < 2e-16 ***
destination_hex1485       -9.373e-01  1.966e-02   -47.689  < 2e-16 ***
destination_hex1494        5.122e-01  1.586e-02    32.289  < 2e-16 ***
destination_hex1495       -2.498e-01  1.636e-02   -15.266  < 2e-16 ***
destination_hex1496       -3.775e-02  1.568e-02    -2.408 0.016050 *  
destination_hex1497       -4.067e-01  1.688e-02   -24.096  < 2e-16 ***
destination_hex1498       -1.748e-01  1.644e-02   -10.633  < 2e-16 ***
destination_hex1499        1.977e-01  1.591e-02    12.422  < 2e-16 ***
destination_hex150         5.109e-01  2.932e-02    17.427  < 2e-16 ***
destination_hex1500       -2.804e-01  1.739e-02   -16.127  < 2e-16 ***
destination_hex1501        6.340e-01  1.577e-02    40.207  < 2e-16 ***
destination_hex1502        5.355e-01  1.586e-02    33.766  < 2e-16 ***
destination_hex1506       -5.790e+00  6.484e-02   -89.303  < 2e-16 ***
destination_hex151         3.077e-01  2.609e-02    11.795  < 2e-16 ***
destination_hex1515       -7.859e-01  2.050e-02   -38.337  < 2e-16 ***
destination_hex1516       -1.055e-01  1.567e-02    -6.731 1.68e-11 ***
destination_hex1517       -1.626e-01  1.655e-02    -9.826  < 2e-16 ***
destination_hex1518       -6.505e-01  1.712e-02   -37.985  < 2e-16 ***
destination_hex1519       -2.917e-01  1.718e-02   -16.976  < 2e-16 ***
destination_hex152         1.893e+00  2.031e-02    93.222  < 2e-16 ***
destination_hex1520       -4.646e-01  1.670e-02   -27.820  < 2e-16 ***
destination_hex1521       -4.624e-01  1.695e-02   -27.275  < 2e-16 ***
destination_hex1522        3.561e-01  1.600e-02    22.253  < 2e-16 ***
destination_hex1523        1.348e+00  1.586e-02    84.989  < 2e-16 ***
destination_hex1524       -7.197e-01  1.909e-02   -37.700  < 2e-16 ***
destination_hex1527       -2.529e+00  3.236e-02   -78.143  < 2e-16 ***
destination_hex153         4.703e-01  1.978e-02    23.773  < 2e-16 ***
destination_hex1535       -1.490e+00  5.260e-02   -28.317  < 2e-16 ***
destination_hex1536       -1.505e+00  2.646e-02   -56.876  < 2e-16 ***
destination_hex1537       -2.180e-02  1.633e-02    -1.335 0.181968    
destination_hex1538       -1.515e-02  1.608e-02    -0.942 0.346006    
destination_hex1539        1.898e-01  1.591e-02    11.927  < 2e-16 ***
destination_hex154        -8.620e-01  3.063e-02   -28.142  < 2e-16 ***
destination_hex1540       -3.641e-01  1.641e-02   -22.185  < 2e-16 ***
destination_hex1541        2.411e-02  1.673e-02     1.441 0.149602    
destination_hex1542       -5.664e-01  1.796e-02   -31.538  < 2e-16 ***
destination_hex1543       -7.980e-01  2.972e-02   -26.848  < 2e-16 ***
destination_hex1544       -6.261e-01  1.766e-02   -35.456  < 2e-16 ***
destination_hex1547       -6.388e-01  2.123e-02   -30.085  < 2e-16 ***
destination_hex155        -1.271e-01  2.294e-02    -5.542 2.99e-08 ***
destination_hex1556       -1.949e+00  6.089e-02   -32.013  < 2e-16 ***
destination_hex1557       -1.221e+00  2.190e-02   -55.753  < 2e-16 ***
destination_hex1558        3.151e-01  1.960e-02    16.078  < 2e-16 ***
destination_hex1559        5.733e-01  1.574e-02    36.420  < 2e-16 ***
destination_hex156         3.782e-01  2.394e-02    15.794  < 2e-16 ***
destination_hex1560        7.167e-01  1.572e-02    45.595  < 2e-16 ***
destination_hex1561       -3.642e-02  1.652e-02    -2.205 0.027473 *  
destination_hex1562       -2.190e+00  2.259e-02   -96.917  < 2e-16 ***
destination_hex1563       -1.088e+00  1.774e-02   -61.362  < 2e-16 ***
destination_hex1564       -4.709e-01  1.727e-02   -27.263  < 2e-16 ***
destination_hex1565        1.097e-01  1.644e-02     6.670 2.56e-11 ***
destination_hex1566       -1.613e+00  2.232e-02   -72.269  < 2e-16 ***
destination_hex1567       -1.033e+00  2.303e-02   -44.844  < 2e-16 ***
destination_hex1568       -2.894e-01  1.941e-02   -14.912  < 2e-16 ***
destination_hex1578       -2.473e+00  1.002e-01   -24.680  < 2e-16 ***
destination_hex1580       -2.447e+00  2.814e-02   -86.973  < 2e-16 ***
destination_hex1581        3.804e-01  1.595e-02    23.849  < 2e-16 ***
destination_hex1582        4.431e-01  1.575e-02    28.131  < 2e-16 ***
destination_hex1583       -1.557e+00  2.505e-02   -62.155  < 2e-16 ***
destination_hex1584       -1.179e+00  1.938e-02   -60.836  < 2e-16 ***
destination_hex1585       -1.084e-01  1.698e-02    -6.386 1.70e-10 ***
destination_hex1586        5.422e-01  1.608e-02    33.725  < 2e-16 ***
destination_hex1589       -1.440e+00  2.643e-02   -54.478  < 2e-16 ***
destination_hex1590       -2.708e-01  2.011e-02   -13.466  < 2e-16 ***
destination_hex1600       -3.104e-01  2.071e-02   -14.985  < 2e-16 ***
destination_hex1601       -8.502e-01  1.681e-02   -50.583  < 2e-16 ***
destination_hex1602       -4.098e-02  1.658e-02    -2.472 0.013441 *  
destination_hex1603        8.052e-01  1.575e-02    51.123  < 2e-16 ***
destination_hex1604       -1.211e+00  1.834e-02   -66.037  < 2e-16 ***
destination_hex1605       -3.573e-01  1.627e-02   -21.967  < 2e-16 ***
destination_hex1606       -3.849e-01  2.015e-02   -19.100  < 2e-16 ***
destination_hex1607        6.985e-01  1.583e-02    44.128  < 2e-16 ***
destination_hex1608        1.536e-02  1.644e-02     0.934 0.350217    
destination_hex1609        4.989e-01  1.606e-02    31.069  < 2e-16 ***
destination_hex1610       -1.334e+00  3.040e-02   -43.893  < 2e-16 ***
destination_hex1622        7.555e-01  1.862e-02    40.579  < 2e-16 ***
destination_hex1623        2.984e-01  1.583e-02    18.845  < 2e-16 ***
destination_hex1624        8.727e-01  1.572e-02    55.526  < 2e-16 ***
destination_hex1625        1.419e-01  1.623e-02     8.744  < 2e-16 ***
destination_hex1626        1.905e+00  1.544e-02   123.372  < 2e-16 ***
destination_hex1627       -9.835e-01  1.757e-02   -55.971  < 2e-16 ***
destination_hex1628        1.233e+00  1.565e-02    78.747  < 2e-16 ***
destination_hex1629       -1.583e+00  2.067e-02   -76.581  < 2e-16 ***
destination_hex1630       -8.362e-01  1.895e-02   -44.126  < 2e-16 ***
destination_hex1631       -1.476e+00  2.416e-02   -61.119  < 2e-16 ***
destination_hex1642       -2.030e+00  3.516e-02   -57.743  < 2e-16 ***
destination_hex1643       -6.661e-02  1.630e-02    -4.087 4.37e-05 ***
destination_hex1644       -8.422e-02  1.718e-02    -4.902 9.48e-07 ***
destination_hex1645       -1.793e-01  1.645e-02   -10.896  < 2e-16 ***
destination_hex1646        1.844e-01  1.704e-02    10.819  < 2e-16 ***
destination_hex1647       -4.838e-01  1.638e-02   -29.525  < 2e-16 ***
destination_hex1648       -2.137e-01  1.629e-02   -13.118  < 2e-16 ***
destination_hex1649        5.783e-01  1.581e-02    36.585  < 2e-16 ***
destination_hex1650       -2.557e-01  1.691e-02   -15.121  < 2e-16 ***
destination_hex1664       -3.938e+00  1.173e-01   -33.589  < 2e-16 ***
destination_hex1665        5.698e-01  1.578e-02    36.120  < 2e-16 ***
destination_hex1666        6.243e-01  1.578e-02    39.572  < 2e-16 ***
destination_hex1667       -7.043e-01  2.188e-02   -32.184  < 2e-16 ***
destination_hex1668       -3.608e-01  1.664e-02   -21.683  < 2e-16 ***
destination_hex1670        2.815e-01  1.591e-02    17.697  < 2e-16 ***
destination_hex1671       -2.205e-01  1.843e-02   -11.966  < 2e-16 ***
destination_hex1672       -8.938e-01  1.910e-02   -46.787  < 2e-16 ***
destination_hex1684        1.715e-01  1.785e-02     9.610  < 2e-16 ***
destination_hex1685       -6.277e-01  1.750e-02   -35.872  < 2e-16 ***
destination_hex1686       -1.443e-02  1.627e-02    -0.887 0.375198    
destination_hex1687        3.189e-01  1.664e-02    19.162  < 2e-16 ***
destination_hex1688       -3.416e-01  1.663e-02   -20.541  < 2e-16 ***
destination_hex1689       -9.492e-01  1.801e-02   -52.709  < 2e-16 ***
destination_hex1690       -1.510e+00  1.971e-02   -76.596  < 2e-16 ***
destination_hex1691        5.015e-01  1.587e-02    31.599  < 2e-16 ***
destination_hex1692       -1.444e+00  2.034e-02   -71.031  < 2e-16 ***
destination_hex1706       -3.315e-02  1.701e-02    -1.949 0.051283 .  
destination_hex1707       -9.336e-01  1.721e-02   -54.247  < 2e-16 ***
destination_hex1708       -2.223e-01  1.644e-02   -13.524  < 2e-16 ***
destination_hex1709        4.556e-01  1.593e-02    28.601  < 2e-16 ***
destination_hex1710        4.099e-01  1.606e-02    25.525  < 2e-16 ***
destination_hex1711        1.121e+00  1.564e-02    71.716  < 2e-16 ***
destination_hex1712        3.051e-01  1.584e-02    19.262  < 2e-16 ***
destination_hex1713       -1.990e+00  2.146e-02   -92.731  < 2e-16 ***
destination_hex1714       -4.914e-01  1.723e-02   -28.522  < 2e-16 ***
destination_hex172        -1.402e+00  4.682e-02   -29.935  < 2e-16 ***
destination_hex1727        4.217e-01  1.616e-02    26.099  < 2e-16 ***
destination_hex1728        3.777e-01  1.589e-02    23.771  < 2e-16 ***
destination_hex1729        5.104e-01  1.582e-02    32.263  < 2e-16 ***
destination_hex1730       -5.675e-01  1.751e-02   -32.417  < 2e-16 ***
destination_hex1731        2.629e-01  1.608e-02    16.351  < 2e-16 ***
destination_hex1732        1.618e-01  1.592e-02    10.162  < 2e-16 ***
destination_hex1733       -9.137e-01  1.720e-02   -53.125  < 2e-16 ***
destination_hex1734        6.821e-02  1.597e-02     4.272 1.94e-05 ***
destination_hex1735       -7.896e-01  2.052e-02   -38.488  < 2e-16 ***
destination_hex174         2.168e-01  2.095e-02    10.348  < 2e-16 ***
destination_hex1748       -5.865e-01  1.755e-02   -33.424  < 2e-16 ***
destination_hex1749        5.916e-01  1.575e-02    37.553  < 2e-16 ***
destination_hex175         1.025e-01  1.843e-02     5.558 2.72e-08 ***
destination_hex1750        4.054e-01  1.583e-02    25.618  < 2e-16 ***
destination_hex1751        1.074e-01  1.643e-02     6.535 6.35e-11 ***
destination_hex1753        3.976e-01  1.589e-02    25.026  < 2e-16 ***
destination_hex1754        1.557e+00  1.548e-02   100.590  < 2e-16 ***
destination_hex1755        8.704e-01  1.565e-02    55.634  < 2e-16 ***
destination_hex1756       -2.016e-01  1.620e-02   -12.450  < 2e-16 ***
destination_hex1757       -2.266e+00  2.653e-02   -85.397  < 2e-16 ***
destination_hex176        -1.107e+00  3.085e-02   -35.883  < 2e-16 ***
destination_hex1769       -9.327e-02  1.651e-02    -5.648 1.63e-08 ***
destination_hex1770       -2.312e-01  1.694e-02   -13.653  < 2e-16 ***
destination_hex1771        5.256e-01  1.600e-02    32.843  < 2e-16 ***
destination_hex1772        1.688e+00  1.668e-02   101.202  < 2e-16 ***
destination_hex1774       -2.981e-01  1.672e-02   -17.830  < 2e-16 ***
destination_hex1775       -8.603e-01  1.715e-02   -50.173  < 2e-16 ***
destination_hex1776        1.444e+00  1.549e-02    93.179  < 2e-16 ***
destination_hex1777       -3.738e-01  1.669e-02   -22.397  < 2e-16 ***
destination_hex1778       -1.297e+00  2.082e-02   -62.291  < 2e-16 ***
destination_hex1790        6.689e-01  1.601e-02    41.772  < 2e-16 ***
destination_hex1791        1.134e-01  1.629e-02     6.959 3.43e-12 ***
destination_hex1792        2.143e-01  1.674e-02    12.804  < 2e-16 ***
destination_hex1793        1.910e-01  1.624e-02    11.756  < 2e-16 ***
destination_hex1794        1.726e+00  1.685e-02   102.477  < 2e-16 ***
destination_hex1795       -1.961e+00  2.628e-02   -74.603  < 2e-16 ***
destination_hex1796        1.346e-01  1.616e-02     8.329  < 2e-16 ***
destination_hex1797       -8.754e-02  1.618e-02    -5.410 6.29e-08 ***
destination_hex1798        1.150e-01  1.608e-02     7.149 8.74e-13 ***
destination_hex1799       -1.038e+00  1.824e-02   -56.886  < 2e-16 ***
destination_hex1800       -2.393e+00  5.242e-02   -45.653  < 2e-16 ***
destination_hex1811       -8.080e-02  1.695e-02    -4.768 1.87e-06 ***
destination_hex1812        1.036e+00  1.562e-02    66.311  < 2e-16 ***
destination_hex1813        1.161e+00  1.559e-02    74.432  < 2e-16 ***
destination_hex1817       -1.384e+00  1.925e-02   -71.855  < 2e-16 ***
destination_hex1818       -2.309e-01  1.638e-02   -14.101  < 2e-16 ***
destination_hex1819        1.598e+00  1.550e-02   103.081  < 2e-16 ***
destination_hex1820       -3.233e+00  4.378e-02   -73.857  < 2e-16 ***
destination_hex1832        1.127e+00  1.579e-02    71.374  < 2e-16 ***
destination_hex1833       -1.772e-01  1.671e-02   -10.605  < 2e-16 ***
destination_hex1834       -4.351e-01  1.664e-02   -26.154  < 2e-16 ***
destination_hex1835       -2.246e-01  1.694e-02   -13.262  < 2e-16 ***
destination_hex1837       -1.011e-01  2.049e-02    -4.936 7.96e-07 ***
destination_hex1839       -1.137e+00  1.905e-02   -59.670  < 2e-16 ***
destination_hex1840        1.290e+00  1.556e-02    82.865  < 2e-16 ***
destination_hex1841       -1.793e+00  2.692e-02   -66.608  < 2e-16 ***
destination_hex1842       -7.451e-01  2.093e-02   -35.596  < 2e-16 ***
destination_hex1853        1.138e-01  1.630e-02     6.982 2.92e-12 ***
destination_hex1854        4.847e-01  1.603e-02    30.228  < 2e-16 ***
destination_hex1855        6.496e-01  1.590e-02    40.866  < 2e-16 ***
destination_hex1858        7.503e-01  1.742e-02    43.063  < 2e-16 ***
destination_hex1860       -3.826e-01  2.346e-02   -16.307  < 2e-16 ***
destination_hex1861       -1.447e-01  1.646e-02    -8.789  < 2e-16 ***
destination_hex1874       -7.988e-02  1.782e-02    -4.482 7.38e-06 ***
destination_hex1875       -1.827e+00  2.485e-02   -73.517  < 2e-16 ***
destination_hex1876       -6.034e-01  2.641e-02   -22.847  < 2e-16 ***
destination_hex1877        4.243e-01  1.600e-02    26.520  < 2e-16 ***
destination_hex1880       -9.285e-02  2.064e-02    -4.498 6.86e-06 ***
destination_hex1882        8.949e-02  1.647e-02     5.435 5.48e-08 ***
destination_hex1883       -1.171e+00  2.441e-02   -47.963  < 2e-16 ***
destination_hex1895        4.256e-01  1.619e-02    26.290  < 2e-16 ***
destination_hex1896       -4.176e-01  1.709e-02   -24.433  < 2e-16 ***
destination_hex1897       -1.121e+00  1.916e-02   -58.524  < 2e-16 ***
destination_hex1898       -1.401e+00  2.823e-02   -49.630  < 2e-16 ***
destination_hex1901       -5.893e-01  2.586e-02   -22.787  < 2e-16 ***
destination_hex1903       -1.516e+00  2.276e-02   -66.599  < 2e-16 ***
destination_hex1917       -4.536e-01  1.755e-02   -25.849  < 2e-16 ***
destination_hex1918        1.032e+00  1.643e-02    62.844  < 2e-16 ***
destination_hex1919        7.235e-01  1.591e-02    45.481  < 2e-16 ***
destination_hex1922        4.706e-01  1.831e-02    25.707  < 2e-16 ***
destination_hex1924       -2.092e+00  2.405e-02   -86.972  < 2e-16 ***
destination_hex1937       -1.241e-01  1.702e-02    -7.295 2.98e-13 ***
destination_hex1938        6.859e-01  1.587e-02    43.218  < 2e-16 ***
destination_hex1939       -2.030e-01  1.722e-02   -11.784  < 2e-16 ***
destination_hex1942       -8.985e-01  2.507e-02   -35.833  < 2e-16 ***
destination_hex195        -4.317e-01  3.345e-02   -12.907  < 2e-16 ***
destination_hex1959       -3.700e-01  1.777e-02   -20.824  < 2e-16 ***
destination_hex196         8.587e-01  1.827e-02    47.009  < 2e-16 ***
destination_hex1960        1.907e+00  1.545e-02   123.443  < 2e-16 ***
destination_hex1961       -7.145e-01  1.820e-02   -39.253  < 2e-16 ***
destination_hex1962       -1.148e-03  1.643e-02    -0.070 0.944289    
destination_hex1964        9.918e-01  1.888e-02    52.536  < 2e-16 ***
destination_hex197        -1.676e+00  8.774e-02   -19.106  < 2e-16 ***
destination_hex1979       -1.440e-01  1.742e-02    -8.266  < 2e-16 ***
destination_hex1980       -1.679e-01  1.661e-02   -10.108  < 2e-16 ***
destination_hex1981       -2.366e-01  1.686e-02   -14.031  < 2e-16 ***
destination_hex1982        3.835e-01  1.680e-02    22.827  < 2e-16 ***
destination_hex1983        7.020e-02  1.642e-02     4.275 1.92e-05 ***
destination_hex1984        2.069e-01  1.647e-02    12.562  < 2e-16 ***
destination_hex1985        3.201e-01  1.625e-02    19.696  < 2e-16 ***
destination_hex2001        1.663e-02  1.659e-02     1.002 0.316257    
destination_hex2002        2.219e-01  1.602e-02    13.849  < 2e-16 ***
destination_hex2003        7.095e-01  1.584e-02    44.785  < 2e-16 ***
destination_hex2004        9.628e-01  1.580e-02    60.941  < 2e-16 ***
destination_hex2005        1.149e-01  1.648e-02     6.972 3.13e-12 ***
destination_hex2006        1.201e+00  1.589e-02    75.544  < 2e-16 ***
destination_hex2007       -2.633e+00  3.190e-02   -82.523  < 2e-16 ***
destination_hex2022        6.782e-01  1.649e-02    41.120  < 2e-16 ***
destination_hex2023        5.052e-01  1.595e-02    31.674  < 2e-16 ***
destination_hex2024        8.905e-01  1.573e-02    56.592  < 2e-16 ***
destination_hex2025       -2.039e-01  1.655e-02   -12.318  < 2e-16 ***
destination_hex2026       -8.358e-01  1.892e-02   -44.170  < 2e-16 ***
destination_hex2027        5.598e-01  1.586e-02    35.291  < 2e-16 ***
destination_hex2043       -9.697e-01  1.868e-02   -51.913  < 2e-16 ***
destination_hex2044        5.107e-03  1.643e-02     0.311 0.755973    
destination_hex2045       -2.918e-01  1.935e-02   -15.079  < 2e-16 ***
destination_hex2046        9.570e-01  1.566e-02    61.126  < 2e-16 ***
destination_hex2047       -8.085e-01  1.769e-02   -45.708  < 2e-16 ***
destination_hex2048       -4.863e-01  1.734e-02   -28.043  < 2e-16 ***
destination_hex2049       -4.254e+00  3.122e-02  -136.261  < 2e-16 ***
destination_hex2064        3.625e-02  1.685e-02     2.151 0.031480 *  
destination_hex2065       -1.831e-01  1.706e-02   -10.737  < 2e-16 ***
destination_hex2066       -2.138e+00  3.475e-02   -61.527  < 2e-16 ***
destination_hex2067        2.241e+00  1.541e-02   145.384  < 2e-16 ***
destination_hex2068       -5.406e-01  1.966e-02   -27.500  < 2e-16 ***
destination_hex2069       -3.722e-01  1.725e-02   -21.576  < 2e-16 ***
destination_hex2085       -3.250e-01  1.712e-02   -18.987  < 2e-16 ***
destination_hex2086        1.325e+00  1.568e-02    84.517  < 2e-16 ***
destination_hex2087        1.064e+00  1.575e-02    67.556  < 2e-16 ***
destination_hex2088       -3.146e-02  1.625e-02    -1.935 0.052949 .  
destination_hex2089       -9.064e-01  1.769e-02   -51.239  < 2e-16 ***
destination_hex2090        1.998e+00  1.547e-02   129.196  < 2e-16 ***
destination_hex2091       -3.889e+00  6.354e-02   -61.200  < 2e-16 ***
destination_hex2105        5.721e-01  7.693e-02     7.437 1.03e-13 ***
destination_hex2106       -1.296e+00  2.145e-02   -60.418  < 2e-16 ***
destination_hex2107        1.288e+00  1.569e-02    82.052  < 2e-16 ***
destination_hex2108        9.985e-01  1.592e-02    62.737  < 2e-16 ***
destination_hex2109       -4.208e-01  1.653e-02   -25.461  < 2e-16 ***
destination_hex2110       -9.886e-01  1.928e-02   -51.275  < 2e-16 ***
destination_hex2111       -2.616e+00  3.619e-02   -72.287  < 2e-16 ***
destination_hex2128        1.785e-01  1.776e-02    10.054  < 2e-16 ***
destination_hex2129       -4.145e-02  1.811e-02    -2.289 0.022077 *  
destination_hex2130       -5.966e-01  1.616e-02   -36.912  < 2e-16 ***
destination_hex2131       -3.796e-01  1.686e-02   -22.517  < 2e-16 ***
destination_hex2132       -1.517e-01  1.689e-02    -8.980  < 2e-16 ***
destination_hex2148       -5.872e-01  2.075e-02   -28.298  < 2e-16 ***
destination_hex2149       -5.745e-01  1.864e-02   -30.828  < 2e-16 ***
destination_hex215         6.392e-01  3.141e-02    20.347  < 2e-16 ***
destination_hex2150       -1.127e+00  1.717e-02   -65.674  < 2e-16 ***
destination_hex2151        1.394e+00  1.556e-02    89.619  < 2e-16 ***
destination_hex2152        4.642e-01  1.608e-02    28.864  < 2e-16 ***
destination_hex2153       -1.020e+00  1.887e-02   -54.041  < 2e-16 ***
destination_hex216         7.374e-02  2.194e-02     3.362 0.000775 ***
destination_hex217         4.403e-01  1.767e-02    24.913  < 2e-16 ***
destination_hex2171        7.323e-01  1.615e-02    45.339  < 2e-16 ***
destination_hex2172       -8.631e-01  1.893e-02   -45.596  < 2e-16 ***
destination_hex2173       -3.924e-01  1.692e-02   -23.193  < 2e-16 ***
destination_hex2174        1.773e-01  1.669e-02    10.624  < 2e-16 ***
destination_hex2191        1.021e+00  1.691e-02    60.402  < 2e-16 ***
destination_hex2192       -5.261e-01  1.856e-02   -28.342  < 2e-16 ***
destination_hex2193        2.147e-01  1.641e-02    13.089  < 2e-16 ***
destination_hex2194        1.108e-01  1.631e-02     6.794 1.09e-11 ***
destination_hex2195       -8.111e-01  3.712e-02   -21.848  < 2e-16 ***
destination_hex2212        7.666e-01  2.019e-02    37.959  < 2e-16 ***
destination_hex2213        4.808e-01  1.725e-02    27.878  < 2e-16 ***
destination_hex2214        1.586e+00  1.671e-02    94.950  < 2e-16 ***
destination_hex2215       -3.437e-01  1.781e-02   -19.293  < 2e-16 ***
destination_hex2216        5.635e-01  1.635e-02    34.468  < 2e-16 ***
destination_hex2233        9.669e-01  1.805e-02    53.581  < 2e-16 ***
destination_hex2234        1.044e+00  1.725e-02    60.520  < 2e-16 ***
destination_hex2235        2.985e-01  1.770e-02    16.868  < 2e-16 ***
destination_hex2236       -1.176e+00  2.034e-02   -57.829  < 2e-16 ***
destination_hex2237        4.878e-01  1.906e-02    25.587  < 2e-16 ***
destination_hex2256        3.765e-02  1.971e-02     1.910 0.056137 .  
destination_hex2257       -1.884e+00  3.003e-02   -62.744  < 2e-16 ***
destination_hex2258        1.056e-01  1.694e-02     6.237 4.46e-10 ***
destination_hex2259        1.202e+00  1.826e-02    65.797  < 2e-16 ***
destination_hex2277       -5.796e-01  2.889e-02   -20.060  < 2e-16 ***
destination_hex2278       -6.657e-01  2.182e-02   -30.507  < 2e-16 ***
destination_hex2279        2.666e-01  1.691e-02    15.762  < 2e-16 ***
destination_hex2280       -1.609e+00  3.518e-02   -45.748  < 2e-16 ***
destination_hex2297       -5.731e-01  2.210e-02   -25.925  < 2e-16 ***
destination_hex23          1.005e-01  4.843e-02     2.076 0.037888 *  
destination_hex2300       -7.771e-01  2.495e-02   -31.153  < 2e-16 ***
destination_hex2301       -3.996e-01  1.812e-02   -22.052  < 2e-16 ***
destination_hex2318        1.387e+00  1.623e-02    85.492  < 2e-16 ***
destination_hex2319        1.539e+00  1.607e-02    95.765  < 2e-16 ***
destination_hex2322       -8.276e-02  1.789e-02    -4.626 3.72e-06 ***
destination_hex2337        1.366e+00  2.178e-02    62.710  < 2e-16 ***
destination_hex2341        1.769e+00  1.602e-02   110.431  < 2e-16 ***
destination_hex2343       -7.373e-01  1.982e-02   -37.208  < 2e-16 ***
destination_hex2361        4.421e-01  1.755e-02    25.191  < 2e-16 ***
destination_hex2364       -1.733e+00  3.327e-02   -52.089  < 2e-16 ***
destination_hex237        -5.239e-01  3.230e-02   -16.221  < 2e-16 ***
destination_hex2379        5.689e-01  2.931e-02    19.412  < 2e-16 ***
destination_hex238         3.648e-02  2.117e-02     1.723 0.084874 .  
destination_hex2384        1.275e+00  1.661e-02    76.762  < 2e-16 ***
destination_hex239         3.521e-02  3.329e-02     1.058 0.290182    
destination_hex2405        1.906e+00  1.597e-02   119.327  < 2e-16 ***
destination_hex2406       -1.223e+00  2.837e-02   -43.116  < 2e-16 ***
destination_hex2426        1.290e+00  1.881e-02    68.586  < 2e-16 ***
destination_hex2427        1.418e+00  1.664e-02    85.210  < 2e-16 ***
destination_hex2505        1.723e+00  2.371e-02    72.682  < 2e-16 ***
destination_hex257         6.921e-01  2.124e-02    32.581  < 2e-16 ***
destination_hex258        -6.213e-01  2.460e-02   -25.252  < 2e-16 ***
destination_hex259         6.024e-01  1.940e-02    31.048  < 2e-16 ***
destination_hex278         9.598e-01  2.158e-02    44.471  < 2e-16 ***
destination_hex279         1.297e-01  1.976e-02     6.564 5.25e-11 ***
destination_hex280         6.281e-01  1.942e-02    32.346  < 2e-16 ***
destination_hex298        -3.398e+00  1.333e-01   -25.485  < 2e-16 ***
destination_hex299         3.152e-01  2.222e-02    14.188  < 2e-16 ***
destination_hex300        -2.163e-01  2.266e-02    -9.547  < 2e-16 ***
destination_hex320         9.249e-01  2.012e-02    45.964  < 2e-16 ***
destination_hex321        -3.686e-01  2.743e-02   -13.439  < 2e-16 ***
destination_hex322         1.420e+00  1.910e-02    74.339  < 2e-16 ***
destination_hex340         2.095e+00  1.871e-02   111.943  < 2e-16 ***
destination_hex341         7.450e-01  1.925e-02    38.703  < 2e-16 ***
destination_hex342         1.433e+00  1.826e-02    78.520  < 2e-16 ***
destination_hex363         7.891e-01  2.022e-02    39.017  < 2e-16 ***
destination_hex364         2.191e+00  1.699e-02   128.990  < 2e-16 ***
destination_hex383         1.156e+00  1.758e-02    65.752  < 2e-16 ***
destination_hex384         3.975e-02  1.729e-02     2.300 0.021471 *  
destination_hex385         1.226e+00  2.128e-02    57.596  < 2e-16 ***
destination_hex404         1.737e+00  2.123e-02    81.828  < 2e-16 ***
destination_hex405         1.285e+00  1.831e-02    70.178  < 2e-16 ***
destination_hex406         7.191e-01  1.607e-02    44.754  < 2e-16 ***
destination_hex407         1.227e+00  1.741e-02    70.454  < 2e-16 ***
destination_hex408         2.333e+00  1.591e-02   146.646  < 2e-16 ***
destination_hex425        -1.634e-01  2.815e-02    -5.805 6.45e-09 ***
destination_hex426         5.617e-01  1.837e-02    30.585  < 2e-16 ***
destination_hex427        -1.587e+00  2.770e-02   -57.282  < 2e-16 ***
destination_hex428         2.596e-01  1.843e-02    14.082  < 2e-16 ***
destination_hex429        -3.598e-02  2.733e-02    -1.316 0.188047    
destination_hex44          1.886e+00  2.604e-02    72.420  < 2e-16 ***
destination_hex446         2.230e-01  2.680e-02     8.321  < 2e-16 ***
destination_hex447        -5.877e-02  2.296e-02    -2.560 0.010470 *  
destination_hex448         3.064e-01  1.909e-02    16.049  < 2e-16 ***
destination_hex449        -5.825e-01  1.706e-02   -34.154  < 2e-16 ***
destination_hex450        -1.017e-01  1.932e-02    -5.266 1.40e-07 ***
destination_hex46          1.697e+00  2.503e-02    67.803  < 2e-16 ***
destination_hex468         8.224e-01  1.828e-02    44.976  < 2e-16 ***
destination_hex469        -4.570e-01  1.747e-02   -26.167  < 2e-16 ***
destination_hex470         8.675e-02  1.669e-02     5.196 2.03e-07 ***
destination_hex471         2.596e-02  2.167e-02     1.198 0.231060    
destination_hex488        -9.092e-02  2.698e-02    -3.371 0.000750 ***
destination_hex489        -1.781e+00  4.962e-02   -35.883  < 2e-16 ***
destination_hex490         5.388e-01  1.741e-02    30.945  < 2e-16 ***
destination_hex491        -1.721e+00  2.127e-02   -80.904  < 2e-16 ***
destination_hex493        -2.257e+00  5.166e-02   -43.696  < 2e-16 ***
destination_hex494        -5.003e-01  2.660e-02   -18.811  < 2e-16 ***
destination_hex509        -1.527e-01  2.109e-02    -7.242 4.43e-13 ***
destination_hex510         7.264e-01  1.810e-02    40.131  < 2e-16 ***
destination_hex511         4.795e-02  1.660e-02     2.889 0.003864 ** 
destination_hex512        -3.680e-02  1.643e-02    -2.239 0.025144 *  
destination_hex513         1.282e+00  1.689e-02    75.937  < 2e-16 ***
destination_hex514         6.246e-01  1.922e-02    32.491  < 2e-16 ***
destination_hex515        -5.124e-01  3.279e-02   -15.628  < 2e-16 ***
destination_hex530        -8.141e-01  3.328e-02   -24.466  < 2e-16 ***
destination_hex531         1.807e+00  1.633e-02   110.655  < 2e-16 ***
destination_hex532         5.292e-01  1.760e-02    30.068  < 2e-16 ***
destination_hex533         1.602e+00  1.557e-02   102.859  < 2e-16 ***
destination_hex534         5.201e-01  1.651e-02    31.503  < 2e-16 ***
destination_hex536        -3.868e-01  2.328e-02   -16.615  < 2e-16 ***
destination_hex537        -8.113e-01  3.681e-02   -22.040  < 2e-16 ***
destination_hex538        -1.511e+00  4.506e-02   -33.529  < 2e-16 ***
destination_hex539        -4.790e+00  5.776e-01    -8.294  < 2e-16 ***
destination_hex551         1.437e-01  2.336e-02     6.149 7.79e-10 ***
destination_hex552         1.900e+00  1.847e-02   102.881  < 2e-16 ***
destination_hex553         1.356e-01  1.745e-02     7.770 7.85e-15 ***
destination_hex554        -1.534e-01  1.671e-02    -9.184  < 2e-16 ***
destination_hex555         7.416e-01  1.698e-02    43.679  < 2e-16 ***
destination_hex559        -1.743e+00  5.644e-02   -30.887  < 2e-16 ***
destination_hex560         4.546e-01  2.221e-02    20.467  < 2e-16 ***
destination_hex561        -1.607e+00  6.899e-02   -23.290  < 2e-16 ***
destination_hex572        -2.958e-01  3.580e-02    -8.262  < 2e-16 ***
destination_hex573         1.306e+00  1.824e-02    71.619  < 2e-16 ***
destination_hex574        -6.975e-01  2.227e-02   -31.321  < 2e-16 ***
destination_hex575         2.343e+00  1.543e-02   151.859  < 2e-16 ***
destination_hex576         3.216e-01  1.652e-02    19.471  < 2e-16 ***
destination_hex578        -3.255e+00  1.077e-01   -30.226  < 2e-16 ***
destination_hex582        -2.042e+00  6.756e-02   -30.222  < 2e-16 ***
destination_hex583        -3.616e+00  2.188e-01   -16.530  < 2e-16 ***
destination_hex584        -5.996e-01  3.803e-02   -15.768  < 2e-16 ***
destination_hex593        -1.004e+00  2.818e-02   -35.621  < 2e-16 ***
destination_hex594         5.144e-01  2.019e-02    25.473  < 2e-16 ***
destination_hex595         1.010e+00  1.632e-02    61.873  < 2e-16 ***
destination_hex596         3.354e-01  1.611e-02    20.820  < 2e-16 ***
destination_hex597        -3.075e-01  2.164e-02   -14.210  < 2e-16 ***
destination_hex603        -1.801e+00  5.329e-02   -33.795  < 2e-16 ***
destination_hex604        -6.618e-01  4.699e-02   -14.084  < 2e-16 ***
destination_hex615        -5.080e-01  2.106e-02   -24.119  < 2e-16 ***
destination_hex616         7.373e-01  1.740e-02    42.370  < 2e-16 ***
destination_hex617        -4.542e-01  1.777e-02   -25.552  < 2e-16 ***
destination_hex618         1.107e-02  1.646e-02     0.672 0.501279    
destination_hex620         4.811e-01  1.874e-02    25.668  < 2e-16 ***
destination_hex637        -1.149e-01  1.863e-02    -6.166 7.00e-10 ***
destination_hex638         1.642e-01  1.629e-02    10.081  < 2e-16 ***
destination_hex657         9.628e-01  1.672e-02    57.580  < 2e-16 ***
destination_hex658         3.775e-01  1.636e-02    23.068  < 2e-16 ***
destination_hex659         3.082e-01  1.627e-02    18.940  < 2e-16 ***
destination_hex66          2.074e-01  4.607e-02     4.503 6.70e-06 ***
destination_hex660         9.656e-01  1.578e-02    61.192  < 2e-16 ***
destination_hex662         4.212e-01  1.884e-02    22.358  < 2e-16 ***
destination_hex67          1.216e+00  2.006e-02    60.632  < 2e-16 ***
destination_hex677         8.061e-01  1.779e-02    45.325  < 2e-16 ***
destination_hex678        -6.218e-01  2.054e-02   -30.279  < 2e-16 ***
destination_hex679         7.214e-01  1.604e-02    44.987  < 2e-16 ***
destination_hex68          1.151e+00  2.440e-02    47.170  < 2e-16 ***
destination_hex680         2.347e+00  1.546e-02   151.753  < 2e-16 ***
destination_hex681        -9.314e-01  2.348e-02   -39.670  < 2e-16 ***
destination_hex699         4.832e-01  1.755e-02    27.530  < 2e-16 ***
destination_hex700         2.533e-01  1.666e-02    15.206  < 2e-16 ***
destination_hex701        -2.000e+00  2.440e-02   -81.958  < 2e-16 ***
destination_hex702         6.558e-01  1.598e-02    41.043  < 2e-16 ***
destination_hex704         5.482e-01  1.829e-02    29.966  < 2e-16 ***
destination_hex722        -2.536e-01  1.803e-02   -14.067  < 2e-16 ***
destination_hex725        -1.685e+00  3.082e-02   -54.674  < 2e-16 ***
destination_hex741         1.087e+00  1.675e-02    64.901  < 2e-16 ***
destination_hex743        -2.405e+00  2.587e-02   -92.999  < 2e-16 ***
destination_hex744         6.311e-01  1.602e-02    39.405  < 2e-16 ***
destination_hex761         1.211e+00  1.725e-02    70.195  < 2e-16 ***
destination_hex762        -5.443e-01  1.976e-02   -27.545  < 2e-16 ***
destination_hex763        -2.522e+00  2.543e-02   -99.197  < 2e-16 ***
destination_hex764         1.127e+00  1.566e-02    71.952  < 2e-16 ***
destination_hex765        -1.563e-01  1.779e-02    -8.786  < 2e-16 ***
destination_hex767         1.524e-01  1.667e-02     9.139  < 2e-16 ***
destination_hex772        -7.585e-01  3.774e-02   -20.098  < 2e-16 ***
destination_hex784        -1.754e+00  2.500e-02   -70.149  < 2e-16 ***
destination_hex785         1.309e-01  1.622e-02     8.069 7.09e-16 ***
destination_hex786         2.549e-01  1.604e-02    15.889  < 2e-16 ***
destination_hex787        -1.705e-01  1.793e-02    -9.507  < 2e-16 ***
destination_hex788        -1.451e+00  2.063e-02   -70.313  < 2e-16 ***
destination_hex789        -1.797e+00  2.263e-02   -79.398  < 2e-16 ***
destination_hex803        -1.183e-02  2.046e-02    -0.578 0.563232    
destination_hex804         2.102e-01  1.662e-02    12.647  < 2e-16 ***
destination_hex805         1.599e+00  1.554e-02   102.923  < 2e-16 ***
destination_hex806        -2.467e-01  1.633e-02   -15.110  < 2e-16 ***
destination_hex807        -1.454e-01  1.674e-02    -8.682  < 2e-16 ***
destination_hex808        -1.759e+00  2.488e-02   -70.720  < 2e-16 ***
destination_hex809         2.003e-01  1.616e-02    12.394  < 2e-16 ***
destination_hex810        -1.578e-01  1.747e-02    -9.036  < 2e-16 ***
destination_hex814        -3.067e-02  2.456e-02    -1.249 0.211746    
destination_hex819         4.911e+00  2.020e-02   243.068  < 2e-16 ***
destination_hex824         1.358e-01  2.023e-02     6.712 1.92e-11 ***
destination_hex826         3.010e-02  1.640e-02     1.835 0.066498 .  
destination_hex827        -3.385e-01  1.647e-02   -20.553  < 2e-16 ***
destination_hex828         1.607e-01  1.600e-02    10.042  < 2e-16 ***
destination_hex829        -2.995e-01  1.729e-02   -17.321  < 2e-16 ***
destination_hex830        -1.162e+00  1.982e-02   -58.621  < 2e-16 ***
destination_hex831         2.014e+00  1.548e-02   130.143  < 2e-16 ***
destination_hex832         1.671e+00  1.563e-02   106.924  < 2e-16 ***
destination_hex835        -7.990e-01  2.455e-02   -32.540  < 2e-16 ***
destination_hex844        -4.331e-01  2.343e-02   -18.484  < 2e-16 ***
destination_hex846        -1.376e-01  1.673e-02    -8.222  < 2e-16 ***
destination_hex847         9.121e-01  1.589e-02    57.403  < 2e-16 ***
destination_hex848        -2.566e-02  1.648e-02    -1.557 0.119442    
destination_hex849        -6.949e-01  1.730e-02   -40.160  < 2e-16 ***
destination_hex850         1.725e-01  1.628e-02    10.593  < 2e-16 ***
destination_hex851        -1.026e-01  1.643e-02    -6.246 4.21e-10 ***
destination_hex852        -1.826e-01  1.736e-02   -10.519  < 2e-16 ***
destination_hex853         7.829e-02  1.718e-02     4.556 5.22e-06 ***
destination_hex854         9.375e-02  2.073e-02     4.522 6.12e-06 ***
destination_hex855        -3.810e-01  2.473e-02   -15.406  < 2e-16 ***
destination_hex856        -1.871e+00  3.477e-02   -53.793  < 2e-16 ***
destination_hex86         -3.034e-01  3.769e-02    -8.050 8.28e-16 ***
destination_hex866         5.648e-01  1.819e-02    31.054  < 2e-16 ***
destination_hex867         1.369e+00  1.591e-02    86.097  < 2e-16 ***
destination_hex868         1.012e+00  1.613e-02    62.736  < 2e-16 ***
destination_hex869         2.031e+00  1.603e-02   126.700  < 2e-16 ***
destination_hex87         -1.438e+00  8.838e-02   -16.275  < 2e-16 ***
destination_hex870         1.464e+00  1.553e-02    94.253  < 2e-16 ***
destination_hex871         1.468e+00  1.572e-02    93.409  < 2e-16 ***
destination_hex872         2.962e-01  1.622e-02    18.256  < 2e-16 ***
destination_hex873         4.825e-02  1.715e-02     2.813 0.004906 ** 
destination_hex874        -1.738e+00  2.015e-02   -86.248  < 2e-16 ***
destination_hex875        -1.284e+00  3.203e-02   -40.090  < 2e-16 ***
destination_hex876        -6.069e-01  2.440e-02   -24.874  < 2e-16 ***
destination_hex877         3.454e-01  2.073e-02    16.660  < 2e-16 ***
destination_hex88          2.894e-01  2.262e-02    12.795  < 2e-16 ***
destination_hex887        -2.916e-02  1.732e-02    -1.684 0.092149 .  
destination_hex888        -1.158e+00  2.037e-02   -56.871  < 2e-16 ***
destination_hex889        -2.713e-01  1.986e-02   -13.661  < 2e-16 ***
destination_hex89          7.000e-01  2.624e-02    26.672  < 2e-16 ***
destination_hex890         6.200e-01  1.599e-02    38.768  < 2e-16 ***
destination_hex891        -1.182e+00  2.084e-02   -56.705  < 2e-16 ***
destination_hex893         6.986e-01  1.588e-02    43.980  < 2e-16 ***
destination_hex894        -1.032e+00  1.917e-02   -53.825  < 2e-16 ***
destination_hex895         7.779e-02  1.786e-02     4.354 1.33e-05 ***
destination_hex896        -1.733e+00  3.362e-02   -51.540  < 2e-16 ***
destination_hex897        -1.736e+00  3.115e-02   -55.726  < 2e-16 ***
destination_hex898         8.230e-02  2.075e-02     3.965 7.33e-05 ***
destination_hex90         -2.957e+00  5.002e-01    -5.912 3.38e-09 ***
destination_hex908         5.713e-01  1.843e-02    30.996  < 2e-16 ***
destination_hex909        -1.409e-01  1.654e-02    -8.518  < 2e-16 ***
destination_hex910        -8.612e-01  1.928e-02   -44.663  < 2e-16 ***
destination_hex911         1.325e+00  1.575e-02    84.140  < 2e-16 ***
destination_hex912        -4.502e-01  1.682e-02   -26.763  < 2e-16 ***
destination_hex915         1.053e-01  1.636e-02     6.434 1.24e-10 ***
destination_hex917         1.169e+00  1.624e-02    72.014  < 2e-16 ***
destination_hex918        -2.245e+00  4.269e-02   -52.576  < 2e-16 ***
destination_hex919        -6.071e-01  2.105e-02   -28.835  < 2e-16 ***
destination_hex928        -1.247e+00  2.282e-02   -54.649  < 2e-16 ***
destination_hex929        -2.703e-01  1.672e-02   -16.165  < 2e-16 ***
destination_hex930         6.317e-01  1.570e-02    40.225  < 2e-16 ***
destination_hex931        -2.417e-01  1.832e-02   -13.195  < 2e-16 ***
destination_hex932        -2.326e+00  2.870e-02   -81.046  < 2e-16 ***
destination_hex933         2.618e-01  1.698e-02    15.421  < 2e-16 ***
destination_hex934        -3.130e-01  1.727e-02   -18.123  < 2e-16 ***
destination_hex935         2.029e+00  1.546e-02   131.189  < 2e-16 ***
destination_hex938        -3.910e+00  1.748e-01   -22.376  < 2e-16 ***
destination_hex939         2.183e+00  1.564e-02   139.587  < 2e-16 ***
destination_hex940        -8.377e-01  2.396e-02   -34.955  < 2e-16 ***
destination_hex949        -1.113e+00  2.097e-02   -53.066  < 2e-16 ***
destination_hex950         6.651e-01  1.602e-02    41.509  < 2e-16 ***
destination_hex951         1.515e+00  1.550e-02    97.789  < 2e-16 ***
destination_hex952         9.299e-01  1.707e-02    54.485  < 2e-16 ***
destination_hex953         2.831e-01  1.747e-02    16.203  < 2e-16 ***
destination_hex954        -1.779e+00  2.288e-02   -77.751  < 2e-16 ***
destination_hex955         1.023e+00  1.586e-02    64.485  < 2e-16 ***
destination_hex956        -5.270e-01  1.776e-02   -29.665  < 2e-16 ***
destination_hex957        -6.747e-02  1.743e-02    -3.871 0.000109 ***
destination_hex959         1.755e-02  2.670e-02     0.657 0.510913    
destination_hex961        -3.660e-02  1.934e-02    -1.892 0.058463 .  
destination_hex962         1.985e+00  1.597e-02   124.313  < 2e-16 ***
destination_hex970         2.923e-01  1.643e-02    17.788  < 2e-16 ***
destination_hex971         4.682e-01  1.591e-02    29.428  < 2e-16 ***
destination_hex972        -4.232e-01  1.676e-02   -25.255  < 2e-16 ***
destination_hex974        -6.480e-01  1.845e-02   -35.120  < 2e-16 ***
destination_hex975        -1.460e+00  2.211e-02   -66.030  < 2e-16 ***
destination_hex976        -7.905e-01  1.887e-02   -41.883  < 2e-16 ***
destination_hex977        -2.957e-02  1.653e-02    -1.789 0.073557 .  
destination_hex978        -2.179e+00  1.867e-02  -116.734  < 2e-16 ***
destination_hex982        -4.361e-01  1.864e-02   -23.400  < 2e-16 ***
destination_hex983         6.683e+00  1.568e-02   426.168  < 2e-16 ***
destination_hex984         4.502e+00  1.576e-02   285.630  < 2e-16 ***
destination_hex991         2.699e-01  1.666e-02    16.199  < 2e-16 ***
destination_hex992         5.355e-01  1.616e-02    33.128  < 2e-16 ***
destination_hex993        -8.931e-01  1.797e-02   -49.700  < 2e-16 ***
destination_hex994        -9.134e-01  1.890e-02   -48.335  < 2e-16 ***
destination_hex995        -1.161e-01  1.715e-02    -6.769 1.30e-11 ***
destination_hex996        -7.516e-01  1.865e-02   -40.306  < 2e-16 ***
destination_hex997         2.545e-03  2.005e-02     0.127 0.898985    
destination_hex998         2.747e-01  1.631e-02    16.837  < 2e-16 ***
destination_hex999        -1.721e+00  1.809e-02   -95.128  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 98559950  on 64884  degrees of freedom
Residual deviance: 38046589  on 64063  degrees of freedom
AIC: 38404932

Number of Fisher Scoring iterations: 8
Code
CalcRSquared(decSIM2$data$trips, decSIM2$fitted.values)
[1] 0.3464084
  • glm from stats R package is used to fit generalized linear models, specified by giving a symbolic description of the linear predictor and a description of the error distribution. In this code, it’s applied to the trips as the response variable and a set of predictor variables in the final_df data frame.
  • The formula trips ~ log(push_num_bus_stops) + log(push_trainexit_count) + log(push_est_pop) + log(distance) + destination_hex specifies that trips is modeled as a function of push_num_bus_stops, push_trainexit_count, push_est_pop, distance, and destination_hex. The log function is applied to transform the predictor variables.
  • The argument family = poisson(link = "log") specifies that a Poisson regression model is fitted with a log link function.
  • The argument na.action = na.exclude specifies that any missing values should be excluded from the model fitting process.
  • summary from base R package is used to produce result summaries of the results of various model fitting functions. In this code, it’s applied to the fitted model decSIM2 to obtain a summary of the model fit.
  • CalcRSquared is a user-defined function which is used to calculate the R-squared value of the fitted model. It takes the observed values decSIM2$data$trips and the fitted values decSIM2$fitted.values as inputs.

Key Coefficients: The Poisson regression model reveals insightful coefficients, offering a glimpse into the relationships between predictor variables and the logarithm of trip counts. Each predictor’s significance is denoted by the associated p-values, all indicating high statistical significance (< 2e-16).

  • Intercept: 13.64 (p < 2e-16)
  • log(push_num_bus_stops): 0.395 (p < 2e-16)
  • log(push_trainexit_count): 0.291 (p < 2e-16)
  • log(push_est_pop): 0.137 (p < 2e-16)
  • log(distance): -1.254 (p < 2e-16)
  • destination_hex1003: 1.820 (p < 2e-16)
  • destination_hex1004: 0.917 (p < 2e-16)
  • destination_hex1011: -0.072 (p = 0.000194)
  • destination_hex1012: 1.443 (p < 2e-16)
  • destination_hex1013: 0.059 (p = 0.000490)
  • destination_hex1014: -1.564 (p < 2e-16)
  • destination_hex1015: 1.247 (p < 2e-16)
  • destination_hex1016: 1.292 (p < 2e-16)
  • destination_hex1018: -0.196 (p < 2e-16)
  • and various other dummy destination variables in which many are statistically significant.

Model Fit: The model’s R-squared value is approximately 0.346, indicating that around 34.6% of the variability in trip counts can be explained by the selected predictor variables. The goodness-of-fit metrics, such as the residual deviance and AIC, support the model’s effectiveness in capturing patterns within the dataset. All predictor variables demonstrate statistical significance, emphasizing their roles in explaining the observed variation in trip counts.

6.4 Compare The Result

Performance Table

Code
model_list <- list(
  Unconstrained = uncSIM,
  Unconstrained_with_Elimination = uncSIM2,
  Origin_Constrained = orcSIM,
  Origin_Constrained_with_Elimination = orcSIM2,
  Destination_Constrained = decSIM,
  Destination_Constrained_with_Elimination = decSIM2,
  Doubly_Constrained = docSIM
)

# Compare performance with multiple metrics
compare_performance(model_list, metrics = c("AIC", "BIC", "RMSE"))
# Comparison of Model Performance Indices

Name                                     | Model |   AIC (weights) |   BIC (weights) |     RMSE
-----------------------------------------------------------------------------------------------
Unconstrained                            |   glm | 4.9e+07 (<.001) | 4.9e+07 (<.001) | 1692.464
Unconstrained_with_Elimination           |   glm | 5.3e+07 (<.001) | 5.3e+07 (<.001) | 1760.563
Origin_Constrained                       |   glm | 3.9e+07 (<.001) | 3.9e+07 (<.001) | 1587.727
Origin_Constrained_with_Elimination      |   glm | 4.1e+07 (<.001) | 4.1e+07 (<.001) | 1624.736
Destination_Constrained                  |   glm | 3.7e+07 (<.001) | 3.7e+07 (<.001) | 1485.920
Destination_Constrained_with_Elimination |   glm | 3.8e+07 (<.001) | 3.8e+07 (<.001) | 1509.215
Doubly_Constrained                       |   glm | 2.8e+07 (>.999) | 2.8e+07 (>.999) | 1267.730
  • The list function from base R is used to create a list named model_list that contains seven elements. Each element is a model simulation, and they are named as follows: ‘Unconstrained’, ‘Unconstrained_with_Elimination’, ‘Origin_Constrained’, ‘Origin_Constrained_with_Elimination’, ‘Destination_Constrained’, ‘Destination_Constrained_with_Elimination’, and ‘Doubly_Constrained’. The values of these elements are the corresponding model simulations (uncSIM, uncSIM2, orcSIM, orcSIM2, decSIM, decSIM2, docSIM).
  • The compare_performance function is then used to compare the performance of the models in model_list using multiple metrics. The metrics argument is set to a vector containing “AIC”, “BIC”, and “RMSE”. This means that the function will calculate the Akaike Information Criterion (AIC), Bayesian Information Criterion (BIC), and Root Mean Square Error (RMSE) for each model in model_list.

In comparing the performance of various spatial interaction models, the model indices indicate that the Doubly Constrained model outperforms the others. It has the lowest values for the Akaike Information Criterion (AIC) and Bayesian Information Criterion (BIC), suggesting better model fit with lower complexity. Moreover, it boasts the smallest Root Mean Square Error (RMSE) of 1267.730, implying it has the highest predictive accuracy.

The Destination Constrained models follow, displaying improved performance over the Unconstrained models, as indicated by their lower AIC, BIC, and RMSE values. The addition of variable elimination to the Origin and Destination Constrained models shows slight increases in AIC and BIC values with corresponding minor increases in RMSE, which suggests that while the elimination process simplifies the models, it does so at the cost of some predictive performance.

Note that these results are inline with what the R2 suggested in previous finding.

The Akaike Information Criterion (AIC) is a measure of the relative quality of a statistical model for a given set of data. It provides a means for model selection by comparing models and choosing the one that minimizes information loss.

These weights are derived from the AIC values of each model and are used to compare each model’s likelihood of being the best model among the set of models being considered. A lower AIC value indicates a better model fit, and the corresponding weight represents the model’s probability relative to the others. A weight close to 1 suggests a high likelihood that it is the best model, while a weight close to 0 suggests a lower likelihood.

The Bayesian Information Criterion (BIC) is similar to AIC, but it introduces a penalty term for the number of parameters in the model to discourage overfitting.

Similar to AIC weights, BIC weights are calculated from the BIC values, which include a penalty for the number of parameters in the model to avoid overfitting. The BIC is more stringent than the AIC, especially as the sample size increases. As with AIC, a BIC weight close to 1 indicates a stronger model relative to the others in terms of both fit and parsimony.

The Root Mean Square Error (RMSE) is a frequently used measure of the differences between values predicted by a model and the values observed. It represents the square root of the second sample moment of the differences between predicted values and observed values or the quadratic mean of these differences.

Visualized Fitted Value

Next, we will visualize to compare the predicted value against the original value for each of the seven models that we trained previously using the following code chunk.

Code
# Function to round fitted values and create a data frame
round_and_rename <- function(sim_data, sim_name) {
  as.data.frame(sim_data$fitted.values) %>%
    round(digits = 0) %>%
    setNames(paste0(sim_name, "_trips"))
}

# Round and rename fitted values for each simulation
uncSIM_fitted <- round_and_rename(orcSIM, "uncSIM")
orcSIM_fitted <- round_and_rename(orcSIM, "orcSIM")
decSIM_fitted <- round_and_rename(decSIM, "decSIM")
docSIM_fitted <- round_and_rename(docSIM, "docSIM")
uncSIM2_fitted <- round_and_rename(orcSIM2, "uncSIM2")
orcSIM2_fitted <- round_and_rename(orcSIM2, "orcSIM2")
decSIM2_fitted <- round_and_rename(decSIM2, "decSIM2")

# Combine the rounded and renamed fitted values
final_df_viz <- final_df %>%
  cbind(uncSIM_fitted, orcSIM_fitted, decSIM_fitted, docSIM_fitted, uncSIM2_fitted, orcSIM2_fitted, decSIM2_fitted)

# Create a function to generate a ggplot
generate_ggplot <- function(data, x_col, color, title) {
  ggplot(data = data, aes(x = !!sym(x_col), y = trips)) +
    geom_point(
      size = data$trips / 10000,
      alpha = .6,
      shape = 21  # Change point shape
    ) +
    xlim(0, 50000) +
    geom_smooth(
      method = lm,
      se = TRUE,
      color = "blue"  # Change smooth line color
    ) +
    labs(title = title) +
    theme(
      plot.title = element_text(size = 10),
      axis.text.x = element_blank(),
      axis.ticks.x = element_blank(),
      axis.text.y = element_blank(),
      axis.title.y = element_blank()
    )
}

# Generate ggplots for each simulation
p_unc <- generate_ggplot(final_df_viz, "uncSIM_trips", "black", "Unconstrained")
p_orc <- generate_ggplot(final_df_viz, "orcSIM_trips", "black", "Origin-constrained")
p_dec <- generate_ggplot(final_df_viz, "decSIM_trips", "black", "Destination-constrained")
p_doc <- generate_ggplot(final_df_viz, "docSIM_trips", "black", "Doubly-constrained")
p_unc2 <- generate_ggplot(final_df_viz, "uncSIM2_trips", "black", "Unconstrained with Elimination")
p_orc2 <- generate_ggplot(final_df_viz, "orcSIM2_trips", "black", "Origin-constrained with Elimination")
p_dec2 <- generate_ggplot(final_df_viz, "decSIM2_trips", "black", "Destination-constrained with Elimination")

# Combine the plots using patchwork
p_unc + p_unc2 + p_orc + p_orc2 + p_dec + p_dec2+ p_doc 

  • The round_and_rename function is a user-defined function that takes two arguments: sim_data and sim_name. It rounds the fitted values in sim_data to 0 decimal places, converts them to a data frame, and renames the column using sim_name. The new column name is the concatenation of sim_name and “_trips”.
  • The round_and_rename function is then applied to each simulation data (orcSIM, decSIM, docSIM, orcSIM2, decSIM2) to round and rename the fitted values. The results are stored in new variables (uncSIM_fitted, orcSIM_fitted, decSIM_fitted, docSIM_fitted, uncSIM2_fitted, orcSIM2_fitted, decSIM2_fitted).
  • The cbind function from base R is used to combine the rounded and renamed fitted values into a new data frame final_df_viz.
  • The generate_ggplot function is another user-defined function that takes four arguments: data, x_col, color, and title. It generates a ggplot of data with x_col on the x-axis and trips on the y-axis. The points are sized according to trips and shaped as hollow circles (shape = 21). A linear model is fitted to the data (method = lm), and the smooth line color is set to blue. The title of the plot is set to title, and the text size, axis text, and axis title are customized using the theme function.
  • The generate_ggplot function is then applied to final_df_viz for each simulation to generate ggplots. The results are stored in new variables (p_unc, p_orc, p_dec, p_doc, p_unc2, p_orc2, p_dec2).
  • The + operator from the patchwork package is used to combine the plots into a single plot.

Summary analysis of each model’s fitted values compared to the original trips:

  • Unconstrained Model: This model shows a broad dispersion of points, with many falling far from the line of best fit. This suggests the model may not be very accurate in predicting the original trips, as indicated by the spread of fitted values.

  • Unconstrained with Elimination: A similar pattern to the unconstrained model, but with a slight shift in the points, indicating that variable elimination may not have significantly improved the model’s predictive ability.

  • Origin-Constrained Model: Points are more aligned with the trend line compared to the unconstrained model, suggesting a better fit for predicting the number of trips.

  • Origin-Constrained with Elimination: The scatter is close to the trend line, much like the origin-constrained model, implying that variable elimination has little effect on improving this model’s fit.

  • Destination-Constrained Model: The concentration of points around the line of best fit is even tighter here, indicating an improved accuracy over the origin-constrained models.

  • Destination-Constrained with Elimination: This shows a pattern similar to the destination-constrained model, with a close clustering of points around the trend line, suggesting a good model fit.

  • Doubly-Constrained Model: This model exhibits the tightest clustering of points along the line, indicating the highest predictive accuracy and the best fit among all models presented.

The size of the points, representing the number of trips, varies across models, with the doubly-constrained model showing the most consistent scaling in relation to the trend line, suggesting this model’s superior capability in capturing the trip distribution pattern in the data.

6.5 Conclusion

In this study, various Spatial Interaction Models (SIMs) were constructed to understand and predict bus commuter flow during the Weekday Morning Peak in Singapore. The models included Unconstrained, Origin-Constrained, Destination-Constrained, and Doubly-Constrained versions, each incorporating multiple features such as bus stops, train stations, HDB units, and more. This project also tried to experiment with inclusion of highly correlated variables and without its inclusion.

Based on the goodness-of-fit and linearity were conducted, revealing consistent outperformance of the Doubly-Constrained SIM over Origin-Constrained, Destination-Constrained, and Unconstrained SIMs. Key observations and conclusions include:

  • Model Complexity: The Doubly-Constrained SIM is consistently outperfoming the other models. Nevertheless, it might be simply be due to the complexity of the models since it contains thousands of classes from two categorical variables, which are the origin hex and the destination hex. In a way, this simply suggests that uniqueness of each origin and destination hex is the best predictor of the amount of trips

  • Push and Pull Factor Significance: All push and pull factor variables becomes significant explanatory variable influencing the number of trips during Weekday Morning Peak Periods. Those variables includes counts of bus stop, train station exits, business, schools, entertainment, food & beverages, and schools. This is inline with the gravity model theory. Nevertheless, some of these variables unexpectedly have inconsistent coefficients across the models (it came as negative sometimes, which is counterintuitive). This indicates spurious regression and/or multicollinearity exists, even among those variables that were observed to be not highly correlated.

  • Distance Significance: Distance between zones emerged as the crucial explanatory variable influencing the number of trips during Weekday Morning Peak Periods. Shorter distances correlated with higher trip numbers, highlighting the dominant role of distance in commuter behavior. This is also inline with the gravity model theory.

  • Push and Pull Factor Significance: Distance between zones emerged as significant explanatory variable influencing the number of trips during Weekday Morning Peak Periods. Shorter distances correlated with higher trip numbers, highlighting the dominant role of distance in commuter behavior. This is inline with the gravity model theory.

Despite the relatively good predictive performance of the best model (>50% explained variance), the better result of Doubly-Constrained SIM also might simply suggests that uniqueness of each origin and destination hex is the best predictor of the amount of trips. This implied various things for future research, such as: - The current best model (doubly-constrained) might have reduced performance in the future if the condition in some hexagon grid changed, as it relies on it as the variable. Therefore, future modelling should consider relying more on the push and pull factors variables.

  • The current push and pull factors variables are currently not good enough to represent the uniqueness that each hexagon grid has in determining trips. This might be due to various factors such as point of interest that is not yet identified, and each point of interest might also have different characteristic that affect the magnitude of it as a push or pull factors. For example, business and schools might have different capacities which in turn translated into different amount of commuters. Another important factor that might be improved is the estimated population of each hexagon. If the estimated population can be more accurate, it might yield better result.

  • Lastly, future project can also consider to use Spatial Econometric Interaction Models where factors can be given spatial weight. This might in turn be better to represent the characteristic of various geospatial conditions.

Spurious regression occurs when two unrelated variables show a strong statistical relationship in a regression analysis, even though there is no true cause-and-effect connection between them. In other words, the apparent relationship is misleading and arises by chance. This phenomenon can mislead researchers into thinking they have discovered a meaningful connection when, in fact, there is none. It’s a cautionary concept, reminding us to carefully consider the theoretical basis and real-world relevance of variables before concluding that they are genuinely related based solely on statistical results.

A Spatial Econometric Interaction Model is a statistical tool used to analyze how the interactions between different locations or units influence economic phenomena. In simpler terms, it helps us understand how economic variables in one area can affect or be affected by variables in neighboring areas. This model accounts for spatial dependencies, recognizing that nearby locations may share similarities or influence each other.

Imagine you want to study housing prices in different neighborhoods. A Spatial Econometric Interaction Model would not only consider local factors like the number of bedrooms and neighborhood amenities but also account for how prices in one neighborhood might be influenced by prices in nearby neighborhoods. It helps capture the idea that economic conditions in one area can spill over and impact neighboring areas, providing a more realistic and accurate analysis of regional economic relationships.

7 References

Cengel. Introduction to spatial data in R

Coşkun, et al. (2020). Performance Matters on Identification of Origin-Destination Matrix on Geospatial Big Data

Daniels & Mulley. Explaining walking distance to public transport: The dominance of public transport supply

Haynes & Fotheringham (1985). Gravity and Spatial Interaction Models

Kam Tin Seong. 16 Calibrating Spatial Interaction Models with R

Miller (2021). TRAFFIC ANALYSIS ZONE DEFINITION: ISSUES & GUIDANCE

R. Spatial interaction models with R

Sekste and Kazakov. “H3 hexagonal grid: Why we use it for data analysis and visualization”.

Sid Dhuri (2020). “Spatial Data Analysis With Hexagonal Grids”

Tao Ran (2021). Big Spatial Flow Data Analytics. In: Werner, M., Chiang, YY. (eds) Handbook of Big Geospatial Data

Land Transport Authority. Land Transport Data Mall