Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
library(graph4lg)
library(igraph)
## ---- echo = TRUE, eval = TRUE------------------------------------------------
data("data_tuto")
mat_dps <- data_tuto[[1]]
mat_pg <- data_tuto[[2]]
graph_ci <- data_tuto[[3]]
dmc <- data_tuto[[4]]
land_graph <- data_tuto[[5]]
mat_ld <- data_tuto[[6]]
## ---- echo = TRUE, eval = FALSE-----------------------------------------------
# dmc <- dist_max_corr(mat_gd = mat_dps, mat_ld = mat_ld,
# interv = 500, pts_col = "black")
## -----------------------------------------------------------------------------
# DMC value
dmc[[1]]
# Correlation coefficients
dmc[[2]]
# Threshold distances tested
dmc[[3]]
## ---- eval = TRUE, echo = FALSE-----------------------------------------------
vec_t <- c(500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000,
6500, 7000, 7500, 8000, 8500, 9000, 9500, 10000, 10230.05)
cc_val <- c(NA, 0.2986565, 0.3154498, 0.5188747, 0.7059633, 0.7559539,
0.7850267, 0.7947691, 0.8038470, 0.7853646, 0.7760106,
0.7641339, 0.7530264, 0.7462445, 0.7386713, 0.7333936,
0.7305631, 0.7226695, 0.7137972, 0.7110962, 0.7041702)
dat <- data.frame(vec_t = vec_t, cc_val = cc_val)
if(any(is.na(dat$cc_val))){
dat <- dat[-which(is.na(dat$cc_val)), ]
}
plot_dmc <- ggplot2::ggplot(data = dat, ggplot2::aes(x = vec_t, y = cc_val)) +
ggplot2::geom_point(color = "#999999", size = 1, shape = 16) +
ggplot2::geom_line(color = "black") +
ggplot2::labs(x = "Distance threshold",
y = "Correlation coefficient") +
ggplot2::theme_bw()
plot_dmc
## -----------------------------------------------------------------------------
scatter_dist(mat_gd = mat_dps, mat_ld = mat_ld,
pts_col = "black")
## -----------------------------------------------------------------------------
# First compute the geographical distance between populations
mat_geo <- mat_geo_dist(data = pts_pop_simul,
ID = "ID", x = "x", y = "y",
crds_type = "proj")
# Reorder the matrix
mat_geo <- reorder_mat(mat_geo, order = row.names(mat_dps))
# Create the thresholded graph
graph_thr <- gen_graph_thr(mat_w = mat_dps, mat_thr = mat_geo,
thr = 12000, mode = "larger")
graph_thr
## -----------------------------------------------------------------------------
graph_gab_geo <- gen_graph_topo(mat_w = mat_dps, mat_topo = mat_geo,
topo = "gabriel")
graph_gab_geo
graph_gab_gen <- gen_graph_topo(mat_w = mat_dps, mat_topo = mat_dps,
topo = "gabriel")
## -----------------------------------------------------------------------------
graph_mst <- gen_graph_topo(mat_w = mat_dps, mat_topo = mat_dps,
topo = "mst")
graph_mst
## -----------------------------------------------------------------------------
graph_percol <- gen_graph_topo(mat_w = mat_dps, mat_topo = mat_dps,
topo = "percol")
## -----------------------------------------------------------------------------
graph_k3 <- gen_graph_topo(mat_w = mat_dps, mat_topo = mat_dps,
topo = "knn", k = 3)
## -----------------------------------------------------------------------------
graph_comp <- gen_graph_topo(mat_w = mat_dps, mat_topo = mat_dps,
topo = "comp")
## ---- echo = FALSE------------------------------------------------------------
g_plan <- graph_plan(crds = pts_pop_simul,
ID = "ID", x = "x", y = "y",
weight = TRUE)
g_plan
## ---- eval = FALSE, echo = TRUE-----------------------------------------------
# graph_ci <- gen_graph_indep(x = data_genind,
# dist = "PCA",
# cov = "sq",
# adj = "holm")
## -----------------------------------------------------------------------------
graph_ci
## -----------------------------------------------------------------------------
df_metric <- compute_node_metric(graph = graph_percol)
head(df_metric)
## -----------------------------------------------------------------------------
graph_percol <- add_nodes_attr(graph = graph_percol,
data = df_metric,
index = "ID",
include = "all")
graph_percol
## ---- eval = FALSE, echo = TRUE-----------------------------------------------
# graph_percol <- add_nodes_attr(graph_percol,
# input = "shp",
# dir_path = system.file('extdata', package = 'graph4lg'),
# layer = "patches",
# index = "Id",
# include = "Area")
## -----------------------------------------------------------------------------
df_modul <- compute_graph_modul(graph = graph_percol,
algo = "fast_greedy",
node_inter = "distance")
head(df_modul)
# Unique values of module ID
unique(df_modul$module)
## -----------------------------------------------------------------------------
graph_percol <- add_nodes_attr(graph = graph_percol,
input = "df",
data = df_modul,
index = "ID")
## -----------------------------------------------------------------------------
p <- plot_graph_lg(graph = graph_mst,
mode = "spatial",
crds = pts_pop_simul,
link_width = "inv_w")
p
## ---- eval = TRUE, echo = TRUE------------------------------------------------
# Compute the metrics
df_metric_mst <- compute_node_metric(graph = graph_mst)
# Associate them to the graph
graph_mst <- add_nodes_attr(graph = graph_mst,
data = df_metric_mst,
index = "ID",
include = "all")
# Compute the modules
df_module_mst <- compute_graph_modul(graph = graph_mst,
algo = "fast_greedy",
node_inter = "distance")
# Associate them to the graph
graph_mst <- add_nodes_attr(graph = graph_mst,
data = df_module_mst,
index = "ID",
include = "all")
# Plot the graph
# Link width is inversely proportional to genetic distance
# Node size is proportional to MIW metric
# Node color depends on the node module
plot_graph_lg(graph = graph_mst,
mode = "spatial",
crds = pts_pop_simul,
link_width = "inv_w",
node_size = "miw",
module = "module")
## -----------------------------------------------------------------------------
p <- plot_graph_lg(graph = graph_mst,
mode = "aspatial",
node_inter = "distance",
link_width = "inv_w",
node_size = "miw",
module = "module")
p
## -----------------------------------------------------------------------------
scatter_dist_g(mat_y = mat_dps ,
mat_x = mat_ld,
graph = graph_gab_geo)
## -----------------------------------------------------------------------------
p <- plot_w_hist(graph = graph_gab_gen)
p
## ---- eval = FALSE, echo = TRUE-----------------------------------------------
# graph_to_shp(graph = graph_mst,
# crds = pts_pop_simul,
# mode = "both",
# layer = "test_shp_mst",
# dir_path = "wd",
# metrics = TRUE,
# crds_crs = 2154)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.