library(magrittr)
library(stringr)
library(dplyr)
# Before running this example, make sure to run get_real_depths().
if (interactive()) {
effective_depth <- get_real_depths()
LadderFuelsR::effective_depth$treeID <- factor(LadderFuelsR::effective_depth$treeID)
trees_name1 <- as.character(effective_depth$treeID)
trees_name2 <- factor(unique(trees_name1))
corr_distance_metrics_list <- list()
for (i in levels(trees_name2)) {
tree1 <- effective_depth |> dplyr::filter(treeID == i)
corr_distance_metrics <- get_effective_gap(tree1, number_steps = 1, min_height= 1.5, verbose=TRUE)
corr_distance_metrics_list[[i]] <- corr_distance_metrics
}
# Combine the individual data frames
effective_distances <- dplyr::bind_rows(corr_distance_metrics_list)
# Get original column names
original_column_names <- colnames(effective_distances)
# Specify prefixes
desired_order <- c("treeID", "Hcbh", "dptf","effdist","dist", "Hdist", "Hdptf", "max_")
# Identify unique prefixes
prefixes <- unique(sub("^([a-zA-Z]+).*", "\\1", original_column_names))
# Initialize vector to store new order
new_order <- c()
# Loop over desired order of prefixes
for (prefix in desired_order) {
# Find column names matching the current prefix
matching_columns <- grep(paste0("^", prefix), original_column_names, value = TRUE)
# Append to the new order
new_order <- c(new_order, matching_columns)
}
effective_distances <- effective_distances[, new_order]
}
Run the code above in your browser using DataLab