# our very first code ---- ## Downloading the data ---- download.file( url = "https://kamapu.gitlab.io/multivar/data/course-data.zip", destfile = "course-data.zip", method = "curl") unzip("course-data.zip", overwrite = TRUE) unlink("course-data.zip") # Load the data getwd() wetlands <- readRDS("wetlands.rds") names(wetlands) head(wetlands$env) tail(wetlands$env) head(wetlands$spp) head(wetlands$obs) head(wetlands$cross) dim(wetlands$cross) 325 * 335 dim(wetlands$obs) ## Reshaping data ---- library(tidyr) cross_table <- pivot_wider( data = wetlands$obs[c("plot_id", "taxon_code", "cover_perc")], names_from = "taxon_code", values_from = "cover_perc", values_fill = 0, values_fn = mean) head(cross_table) cross_table <- as.data.frame(cross_table) head(cross_table) rownames(cross_table) <- cross_table$plot_id head(cross_table) cross_table <- cross_table[names(cross_table) != "plot_id"] cross_table <- as.matrix(cross_table) dim(cross_table) dim(wetlands$cross) ## using vegtable ---- library(vegtable) cross_table2 <- crosstable( formula = cover_perc ~ plot_id + taxon_code, FUN = mean, data = wetlands$obs, na_to_zero = TRUE, as_matrix = TRUE) is.matrix(cross_table2) # Common issues spp_list <- c("Ranunculus repens", "ranunculus repens") unique(spp_list) wetlands$spp$taxon_name spp_check <- unique(wetlands$spp$taxon_name) spp_check <- spp_check[order(spp_check)] spp_check spp_list <- c("Ranunculus repens", "Ranunculus repens ", " Ranunculus repens", "Ranunculus repens ") unique(spp_list) spp_list <- clean_strings(spp_list) unique(spp_list) # Consistency all(wetlands$obs$taxon_code %in% wetlands$spp$taxon_code) any(is.na(wetlands$obs$taxon_code)) any(duplicated(wetlands$spp$taxon_code))