Libraries

library(regionaldrivers)

Data loading

SSCT_field_data is loaded with the package. Here is what 10 random rows of each looks like:

SSCT_field_data
region SiteID Lat Long ward.grp SSCT.ward Ac bf.d bf.w bf.w.d CV_bf.d CV_bf.w D50 D84 slope vc.dist
NCC NCC_CH_4_14992 38.523 -123.063 NCC03 4 83.084 0.53 14.62 35.31 0.58 0.27 32 90 0.006 30
SAC SAC_PGR_32 38.822 -122.719 SAC06 4 5.000 0.90 6.05 6.70 0.38 0.19 64 200 0.001 303
K K_PH_2_17814 41.806 -123.830 K07 10 4.000 1.32 16.93 13.80 0.27 0.39 90 128 0.034 247
SAC SAC_LSR_47 38.772 -120.454 SAC03 1 633.000 1.11 19.06 17.10 0.21 0.31 1000 5000 0.008 36
NC SFE_2017_63 39.671 -123.668 NC04 9 6.000 1.16 6.32 5.40 0.37 0.09 23 128 0.004 30
SC SC_CH_2_10195 34.236 -117.818 SC05 4 228.652 0.74 9.93 17.19 0.39 0.43 32 190 0.005 50
NC NC_CH_1_15014 40.342 -123.474 NC07 7 85.000 2.13 19.98 9.80 0.24 0.18 45 128 0.006 1
SAC SAC_WS_20 38.655 -121.340 SAC09 2 69.000 1.18 7.09 6.00 0.22 0.22 2 2 0.000 4375
SCC SCC_PL_2_42171 37.020 -121.905 SCC05 10 27.000 0.76 8.41 11.86 0.28 0.20 45 1000 0.009 103
SAC SAC_RGW_504WE0527 40.107 -122.030 SAC02 5 68.000 1.74 17.82 10.35 0.09 0.10 250 2500 0.029 24

Drainage area versus slope plot

Slope versus relative roughness

UMAP

2D

library(umap)

SSCT_umap_data <- SSCT_field_data %>% 
    dplyr::select(Ac, bf.d, bf.w, bf.w.d, CV_bf.d, CV_bf.w, D50, D84, slope, vc.dist) %>%
    dplyr::mutate_all(scales::rescale)

UMAP_embedding <- umap::umap(SSCT_umap_data, metric = "euclidean", verbose = TRUE, knn.repeat = 10, n_components = 2)

SSCT_labels <- SSCT_field_data %>% dplyr::select(SSCT.ward, SiteID, type)

plot_df <- cbind(UMAP_embedding$layout, SSCT_labels)
colnames(plot_df) <- c("x", "y", "label", "SiteID", "type")

p_umap <- ggplot(plot_df, aes(x = x, y = y, color = label, group = SiteID, shape = type)) + 
    geom_point() +
    scale_shape_manual(labels = c("cascade", "plane-bed", "step-pool", "pool-riffle", "n/a"), values = c(0, 1, 15, 19, 2),
                     guide = guide_legend(override.aes = list(colour = 1))) +
    scale_color_manual(values = colors, 
                    guide = guide_legend(override.aes = list(shape = 18))) +
    theme_minimal()

    (p_umap)

3D

UMAP_embedding <- umap::umap(SSCT_umap_data, metric = "euclidean", verbose = TRUE, knn.repeat = 10, n_components = 3)
plotly::plot_ly(
    x=UMAP_embedding$layout[, 1],
    y=UMAP_embedding$layout[, 2],
    z=UMAP_embedding$layout[, 3],
    type="scatter3d",
    size = 2,
    mode="markers",
    color = SSCT_field_data$SSCT.ward, 
    colors=colors
)