Overview

This activity will focus on working with simple networks. You will need the following data sets.

library( gstudio ) 
library( popgraph )
data(arapat)
data(lopho)
data(baja)
  1. Create a de novo network based upon a hypothesized population model for your own organism and study site. Parameterize the nodes with locations and names and visualize it both a-spatially and spatially projected onto a map.

  1. Estimate a population graph for the arapat data set and visualize it in a leaflet() map.
  1. Estimate from the arapat population graph node-specific parameters such as degree, centrality, and betweenness. Load in the previous sex-baised dispersal data sets. Is the estimated habitat suitability for each sampling locale correlated with any of these graph-theoretic parameters?
cor( coords[,4:12] )
             Males Females Suitability MFRatio GenVarArapat GenVarEuphli Betweenness
Males            1      NA          NA      NA           NA           NA          NA
Females         NA       1          NA      NA           NA           NA          NA
Suitability     NA      NA           1      NA           NA           NA          NA
MFRatio         NA      NA          NA       1           NA           NA          NA
GenVarArapat    NA      NA          NA      NA            1           NA          NA
GenVarEuphli    NA      NA          NA      NA           NA            1          NA
Betweenness     NA      NA          NA      NA           NA           NA   1.0000000
Closeness       NA      NA          NA      NA           NA           NA   0.4737195
Degree          NA      NA          NA      NA           NA           NA   0.2742695
             Closeness    Degree
Males               NA        NA
Females             NA        NA
Suitability         NA        NA
MFRatio             NA        NA
GenVarArapat        NA        NA
GenVarEuphli        NA        NA
Betweenness  0.4737195 0.2742695
Closeness    1.0000000 0.6509092
Degree       0.6509092 1.0000000
  1. Load in the lopho and upiga population graphs and map out each of their individual population graphs as well as the congruence_topology. What kind of inferences can you gain by looking at these levels of spatial synchrony?

edges <- to_sf( cong, what = "edges" )
argument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NAargument is not numeric or logical: returning NA
LS0tCnRpdGxlOiAiTmV0d29yayBNb2RlbHMiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KIVtdKGh0dHBzOi8vbGl2ZS5zdGF0aWNmbGlja3IuY29tLzY1NTM1LzUxMDIyOTkzODMyX2MwN2RkYjVlN2Ffb19kLmpwZykKCiMjIE92ZXJ2aWV3CgpUaGlzIGFjdGl2aXR5IHdpbGwgZm9jdXMgb24gd29ya2luZyB3aXRoIHNpbXBsZSBuZXR3b3Jrcy4gIFlvdSB3aWxsIG5lZWQgdGhlIGZvbGxvd2luZyBkYXRhIHNldHMuCgpgYGB7cn0KbGlicmFyeSggZ3N0dWRpbyApIApsaWJyYXJ5KCBwb3BncmFwaCApCmRhdGEoYXJhcGF0KQpkYXRhKGxvcGhvKQpkYXRhKGJhamEpCmBgYAoKCgoxLiBDcmVhdGUgYSAqZGUgbm92byogbmV0d29yayBiYXNlZCB1cG9uIGEgaHlwb3RoZXNpemVkIHBvcHVsYXRpb24gbW9kZWwgZm9yIHlvdXIgb3duIG9yZ2FuaXNtIGFuZCBzdHVkeSBzaXRlLiAgUGFyYW1ldGVyaXplIHRoZSBub2RlcyB3aXRoIGxvY2F0aW9ucyBhbmQgbmFtZXMgYW5kIHZpc3VhbGl6ZSBpdCBib3RoIGEtc3BhdGlhbGx5IGFuZCBzcGF0aWFsbHkgcHJvamVjdGVkIG9udG8gYSBtYXAuCgpgYGB7cn0KbGlicmFyeSggaWdyYXBoICkKcG9wcyA8LSBjKCJPbHltcGlhIiwiU2VhdHRsZSIsIlN0LiBMb3VpcyIsIkFtZXMiLCJSaWNobW9uZCIpCkEgPC0gbWF0cml4KCAwLCBucm93ID0gNSwgbmNvbD01ICkKcm93bmFtZXMoQSkgPC0gY29sbmFtZXMoQSkgPC0gcG9wcyAKQVsyLDFdIDwtIEFbMSwyXSA8LSAxCkFbMiwzXSA8LSBBWzMsNF0gPC0gMQpBWzQsNV0gPC0gQVs0LDJdIDwtIDEKQVs1LDJdIDwtIDEKCkcgPC0gZ3JhcGguYWRqYWNlbmN5KEEsIG1vZGUgPSAiZGlyZWN0ZWQiKQpwbG90KEcpCmBgYAoKMi4gRXN0aW1hdGUgYSBwb3B1bGF0aW9uIGdyYXBoIGZvciB0aGUgKmFyYXBhdCogZGF0YSBzZXQgYW5kIHZpc3VhbGl6ZSBpdCBpbiBhIGBsZWFmbGV0KClgIG1hcC4gCgpgYGB7cn0KbGlicmFyeSggcG9wZ3JhcGggKQptdiA8LSB0b19tdiggYXJhcGF0ICkKcG9wcyA8LSBhcmFwYXQkUG9wdWxhdGlvbgpnIDwtIHBvcGdyYXBoKCBtdiwgcG9wcyApCnBsb3QoZykKCnN0cmF0YV9jb29yZGluYXRlcyggYXJhcGF0ICkgJT4lCiAgcmVuYW1lKCBQb3B1bGF0aW9uID0gU3RyYXR1bSApIC0+IGNvb3JkcyAKCmRlY29yYXRlX2dyYXBoKGcsIGNvb3JkcyApIC0+IGdyYXBoX2FyYXBhdAoKbm9kZXMgPC0gdG9fc2YoZ3JhcGhfYXJhcGF0LHdoYXQ9Im5vZGVzIikKZWRnZXMgPC0gdG9fc2YoZ3JhcGhfYXJhcGF0LHdoYXQ9ImVkZ2VzIikKCgpsaWJyYXJ5KCBsZWFmbGV0ICkKbGVhZmxldCgpICU+JQogIGFkZE1hcmtlcnMoIGRhdGE9bm9kZXMgKSAlPiUKICBhZGRQb2x5bGluZXMoIGRhdGE9ZWRnZXMgKSAlPiUKICBhZGRQcm92aWRlclRpbGVzKHByb3ZpZGVyID0gcHJvdmlkZXJzJEVzcmkuV29ybGRJbWFnZXJ5KQoKYGBgCgoKMy4gRXN0aW1hdGUgZnJvbSB0aGUgKmFyYXBhdCogcG9wdWxhdGlvbiBncmFwaCBub2RlLXNwZWNpZmljIHBhcmFtZXRlcnMgc3VjaCBhcyBkZWdyZWUsIGNlbnRyYWxpdHksIGFuZCBiZXR3ZWVubmVzcy4gIExvYWQgaW4gdGhlIHByZXZpb3VzIHNleC1iYWlzZWQgZGlzcGVyc2FsIGRhdGEgc2V0cy4gIElzIHRoZSBlc3RpbWF0ZWQgaGFiaXRhdCBzdWl0YWJpbGl0eSBmb3IgZWFjaCBzYW1wbGluZyBsb2NhbGUgY29ycmVsYXRlZCB3aXRoIGFueSBvZiB0aGVzZSBncmFwaC10aGVvcmV0aWMgcGFyYW1ldGVycz8KCmBgYHtyfQoKIyBsb2FkIGluIHRoZSBkaXNwZXJzYWwgYmlhcyBzdHVmZgp1cmwgPC0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9keWVybGFiL0VOVlMtTGVjdHVyZXMvbWFzdGVyL2RhdGEvQXJhcHR1c19EaXNwZXJhbF9CaWFzLmNzdiIKcmVhZF9jc3YodXJsKSAlPiUKICByZW5hbWUoIFBvcHVsYXRpb24gPSBTaXRlICkgLT4gZGYucmF0aW8KCgojIHB1bGwgaW4gdGhlIG5vZGUgYmFzZWQgc3R1ZmYKYiA8LSBkYXRhLmZyYW1lKCBCZXR3ZWVubmVzcyA9IGJldHdlZW5uZXNzKCBncmFwaF9hcmFwYXQgKSApICAlPiUgCiAgbXV0YXRlKCBQb3B1bGF0aW9uID0gcm93bmFtZXMoLikpCmMgPC0gZGF0YS5mcmFtZSggQ2xvc2VuZXNzID0gY2xvc2VuZXNzKCBncmFwaF9hcmFwYXQgKSApICAlPiUgCiAgbXV0YXRlKCBQb3B1bGF0aW9uID0gcm93bmFtZXMoLikpCmQgPC0gZGF0YS5mcmFtZSggRGVncmVlID0gZGVncmVlKCBncmFwaF9hcmFwYXQgKSApICAlPiUgCiAgbXV0YXRlKCBQb3B1bGF0aW9uID0gcm93bmFtZXMoLikpCgojIG1lcmdlIGFsbCBvbnRvIHRoZSBjb29yZGluYXRlcyBkYXRhLmZyYW1lCmNvb3JkcyAlPiUKICBsZWZ0X2pvaW4oIGRmLnJhdGlvICkgJT4lIAogIGxlZnRfam9pbiggYiApICU+JQogIGxlZnRfam9pbiggYyApICU+JQogIGxlZnRfam9pbiggZCApIC0+IGNvb3JkcwogIAoKbGlicmFyeSggR0dhbGx5ICkKCiMgR3JhcGggYW5kIFNleCBSYXRpbyBTdHVmZgpnZ3BhaXJzKCBjb29yZHNbLGMoNCw1LDcsMTAsMTEsMTIpXSkKICAKIyBHcmFwaCBhbmQgU3VpdGFiaWxpdHkKZ2dwYWlycyggY29vcmRzWywgYyg2LDcsOCw5LDEwKV0pCgpnZ3BhaXJzKCBjb29yZHNbLDg6MTJdKQpgYGAKCgoKCjQuIExvYWQgaW4gdGhlIGBsb3Bob2AgYW5kIGB1cGlnYWAgcG9wdWxhdGlvbiBncmFwaHMgYW5kIG1hcCBvdXQgZWFjaCBvZiB0aGVpciBpbmRpdmlkdWFsIHBvcHVsYXRpb24gZ3JhcGhzIGFzIHdlbGwgYXMgdGhlIGBjb25ncnVlbmNlX3RvcG9sb2d5YC4gIFdoYXQga2luZCBvZiBpbmZlcmVuY2VzIGNhbiB5b3UgZ2FpbiBieSBsb29raW5nIGF0IHRoZXNlIGxldmVscyBvZiBzcGF0aWFsIHN5bmNocm9ueT8KCgoKYGBge3J9CmRhdGEoIGxvcGhvICkKZGF0YSggdXBpZ2EgKQpkYXRhKCBiYWphICkKbG9waG8gPC0gZGVjb3JhdGVfZ3JhcGgoIGxvcGhvLCBiYWphKQp1cGlnYSA8LSBkZWNvcmF0ZV9ncmFwaCggdXBpZ2EsIGJhamEpCnBsb3QoIGxvcGhvKQoKYGBgCgoKCmBgYHtyfQpwbG90KCB1cGlnYSApCmBgYAoKCmBgYHtyfQpjb25nIDwtIGNvbmdydWVuY2VfdG9wb2xvZ3kobG9waG8sIHVwaWdhICkKY29uZyA8LSBkZWNvcmF0ZV9ncmFwaChjb25nLCBiYWphICkKcGxvdCggY29uZyApCmBgYAoKCmBgYHtyfQpub2RlcyA8LSB0b19zZiggY29uZywgd2hhdD0ibm9kZXMiICkKCmVkZ2VzIDwtIHRvX3NmKCBjb25nLCB3aGF0ID0gImVkZ2VzIiApCmBgYAoKYGBge3J9CmxlYWZsZXQoKSAlPiUKICBhZGRNYXJrZXJzKCBkYXRhID0gbm9kZXMgKSAlPiUKICBhZGRQb2x5bGluZXMoIGRhdGE9ZWRnZXMgKSAlPiUKICBhZGRQcm92aWRlclRpbGVzKCBwcm92aWRlciA9IHByb3ZpZGVycyRFc3JpLldvcmxkSW1hZ2VyeSkKYGBgCgoK