Create an edges weights matrix
Creates an edges weights matrix from the output of distance_euclidean()
.
edges_weights_matrix(distances, lower = TRUE, upper = TRUE, diag = TRUE)
distances
: a data.frame
with the following three columns: from
(the first node of the edge), to
(the second node of the edge), and weight
(the weight of the edge between the two nodes, e.g. a distance).
lower
: a logical
value. If TRUE
(default), keep values in the lower triangle of the matrix. Otherwise they will be replaced by NA
.
upper
: a logical
value. If TRUE
(default), keep values in the upper triangle of the matrix. Otherwise they will be replaced by NA
.
diag
: a logical
value. If TRUE
(default), keep values in the diagonal of the matrix. Otherwise they will be replaced by NA
.
An edges weights matrix
of dimensions n x n
, where n
is the number of nodes (sites).
# Import Adour sites ---- path_to_file <- system.file("extdata", "adour_survey_sampling.csv", package = "chessboard") adour_sites <- read.csv(path_to_file) # Select the 15 first sites ---- adour_sites <- adour_sites[1:15, ] # Create node labels ---- adour_sites <- create_node_labels(adour_sites, location = "location", transect = "transect", quadrat = "quadrat") # Convert sites to sf object (POINTS) ---- adour_sites_sf <- sf::st_as_sf(adour_sites, coords = c("longitude", "latitude"), crs = "epsg:2154") # Compute distances between pairs of sites along the Adour river ---- adour_dists <- distance_euclidean(adour_sites_sf) # Create Edges weights matrix ---- edges_weights_matrix(adour_dists) # Create Edges weights matrix (with options) ---- edges_weights_matrix(adour_dists, lower = FALSE) edges_weights_matrix(adour_dists, upper = FALSE) edges_weights_matrix(adour_dists, diag = FALSE)