From a1b4c84c8ef5fe54e4e9772fba463973e2343f48 Mon Sep 17 00:00:00 2001 From: Francesco Sabatini <francesco.sabatini@idiv.de> Date: Tue, 25 Aug 2020 15:18:48 +0200 Subject: [PATCH] Fixed bug in 00 and cleaned and renamed traits --- 00_Mesobromion_DataPreparation.R | 44 ++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/00_Mesobromion_DataPreparation.R b/00_Mesobromion_DataPreparation.R index 9541231..301734e 100644 --- a/00_Mesobromion_DataPreparation.R +++ b/00_Mesobromion_DataPreparation.R @@ -144,18 +144,18 @@ dim(species) # [1] 5810 873 releve08trait <- species %>% rownames_to_column("RELEVE_NR") %>% reshape2::melt(.id="RELEVE_NR") %>% - rename(species0=variable, pres=value) %>% + rename(species0=variable, perc.cover=value) %>% as.tbl() %>% - filter(pres>0) %>% + filter(perc.cover>0) %>% arrange(RELEVE_NR) %>% ## attach traits left_join(traits %>% dplyr::select(-species), by="species0") %>% mutate_at(.vars = vars(LEB_F_Makrophanerophyt:Disp.unit.leng), - .funs = list(~if_else(is.na(.),0,1) * pres)) %>% + .funs = list(~if_else(is.na(.),0,1) * perc.cover)) %>% group_by(RELEVE_NR) %>% summarize_at(.vars= vars(LEB_F_Makrophanerophyt:Disp.unit.leng), - .funs = list(~mean(.))) %>% + .funs = list(~sum(.)/sum(perc.cover))) %>% dplyr::select(RELEVE_NR, order(colnames(.))) %>% reshape2::melt(id.vars="RELEVE_NR", value.name="trait.coverage") %>% group_by(RELEVE_NR) %>% @@ -163,6 +163,7 @@ releve08trait <- species %>% #select only those releves where we have a coverage of >0.8 for all traits filter(ntraits08==1) %>% pull(RELEVE_NR) +length(releve08trait) #[1] 5646 set.seed(1984) releve08trait.samp <- sample(releve08trait, round(length(releve08trait)/10), replace=F) @@ -253,14 +254,36 @@ recode.traits <- function(x){ } traits <- recode.traits(traits) +### Some cleaning and renaming of traits; exclude CSR - decisions 25.08.2020 +traits <- traits %>% + dplyr::select(-STRAT_T) %>% + mutate(REPR_T=factor(REPR_T, levels=c("Samen_Sporen","vegetativ"), + labels=c("Seed/Spores", "Vegetative"))) %>% + mutate(BLU_KL=factor(BLU_KL, levels=c("NEKTAR_HONIG_INSEKTEN","POLLEN", "WIND"), + labels=c("Nectar/Honey/Insects", "Pollen", "Wind"))) %>% + mutate(BL_AUSD = factor(BL_AUSD, + levels=c("immergrün","sommergrün","überwinternd_grün", "vorsommergrün"), + labels=c("eg", "sg", "wg", "se"))) + +##rename traits based on labels +trait.labs <- data.frame(trait.name=colnames(traits)[-1]) %>% + left_join(read_delim("_data/Mesobromion/TraitLabels_Long.csv", delim=","), + by="trait.name") %>% + rownames_to_column("Trait.comb") %>% + mutate_at(.vars=vars(Short_english_name:Long_English_name), ~ifelse(is.na(.), trait.name, {.})) %>% + filter(trait.name %in% colnames(traits)) + +traits <- traits %>% + rename_at(trait.labs$trait.name, .funs=function(x) trait.labs$Short_english_name) + ##exclude traits being all == 0 traits <- traits %>% - dplyr::select(-colnames(.)[which(colSums(.!=0)==0)]) + dplyr::select(-colnames(.)[which(colSums(.!=0)==0)]) -dim(species) #581 509 -dim(traits) #509 49 -dim(env) #581 8 +dim(species) #565 488 +dim(traits) #488 50 +dim(env) #565 8 @@ -319,9 +342,10 @@ species.cov <- species.cov %>% mutate_at(.vars=vars(-RELEVE_NR), .funs=~./sumVar) %>% dplyr::select(-sumVar) -dim(species.cov) #[1] 581 510 +dim(species.cov) #[1] 565 489 ## export +write_delim(species, path="_data/Mesobromion/species.v2.10perc.percentage.txt", delim="\t") ## original covere values write_delim(species.pa, path="_data/Mesobromion/species.v2.10perc.pa.txt", delim="\t") write_delim(species.cov, path="_data/Mesobromion/species.v2.10perc.cov.txt", delim="\t") write_delim(traits, path="_data/Mesobromion/traits.v2.10perc.txt", delim="\t") @@ -342,7 +366,7 @@ traits %>% traits %>% filter_at(.vars=vars(-"species0"), any_vars(is.na(.))) %>% - nrow() ## [1] 36 # species with at least 1 NA in traits + nrow() ## [1] 47 # species with at least 1 NA in traits #### CORRELATION BETWEEN FUZZY WEIGHTED AND BEALS MATRICES -- GitLab