Mercurial > repos > ecology > stoc_trend_indic
comparison FunctExeTemporalAnalysisofIndicatorTrait.r @ 1:5c244408661f draft default tip
"planemo upload for repository https://github.com/Alanamosse/Galaxy-E/tree/stoctool/tools/stoc commit d49a4da1ffac1f33a15fdb7ae98827d0034a7879"
author | ecology |
---|---|
date | Mon, 11 May 2020 17:54:02 -0400 |
parents | 916b49d725ba |
children |
comparison
equal
deleted
inserted
replaced
0:916b49d725ba | 1:5c244408661f |
---|---|
36 stop("At least 12 arguments must be supplied :\n- An input dataset filtered (.tabular). May come from the filter rare species tool.\n- A species detail table (.tabular)\n- A species ssi/sti table.\n- A table with plots coordinates.\n- table with csi calculated before 2001.\n\n", call.=FALSE) #si pas d'arguments -> affiche erreur et quitte / if no args -> error and exit1 | 36 stop("At least 12 arguments must be supplied :\n- An input dataset filtered (.tabular). May come from the filter rare species tool.\n- A species detail table (.tabular)\n- A species ssi/sti table.\n- A table with plots coordinates.\n- table with csi calculated before 2001.\n\n", call.=FALSE) #si pas d'arguments -> affiche erreur et quitte / if no args -> error and exit1 |
37 } else { | 37 } else { |
38 Datafiltered<-args[1] ###### Nom du fichier avec extension ".typedefichier", peut provenir de la fonction "FiltreEspeceRare" / file name without the file type ".filetype", may result from the function "FiltreEspeceRare" | 38 Datafiltered<-args[1] ###### Nom du fichier avec extension ".typedefichier", peut provenir de la fonction "FiltreEspeceRare" / file name without the file type ".filetype", may result from the function "FiltreEspeceRare" |
39 tabSpecies<-args[2] ###### Nom du fichier avec extension ".typedefichier", fichier mis à disposition dans Galaxy-E avec specialisation à l'habitat des especes et si espece considérée comme indicatrice / file name without the file type ".filetype", file available in Galaxy-E containing habitat specialization for each species and whether or not they are considered as indicator | 39 tabSpecies<-args[2] ###### Nom du fichier avec extension ".typedefichier", fichier mis à disposition dans Galaxy-E avec specialisation à l'habitat des especes et si espece considérée comme indicatrice / file name without the file type ".filetype", file available in Galaxy-E containing habitat specialization for each species and whether or not they are considered as indicator |
40 tabtrait<-args[3] ##### Nom du fichier avec extension ".typedefichier", fichier mis à disposition dans Galaxy-E avec degre de specialisation de l espece et affinite thermique /file name without the file type ".filetype", file available in Galaxy-E containing specilalization degree as well as thermic preferences | 40 tabtrait<-args[3] ##### Nom du fichier avec extension ".typedefichier", fichier mis à disposition dans Galaxy-E avec degre de specialisation de l espece et affinite thermique /file name without the file type ".filetype", file available in Galaxy-E containing specilalization degree as well as thermic preferences |
41 coordCarre<-args[4] #### Nom du fichier avec extension ".typedefichier", fichier mis à disposition dans Galaxy-E avec les coordonnees gps des carres /file name without the file type ".filetype", file available in Galaxy-E containing gps coordinates of the plots | 41 coordCarre<-args[9] #### Nom du fichier avec extension ".typedefichier", fichier mis à disposition dans Galaxy-E avec les coordonnees gps des carres /file name without the file type ".filetype", file available in Galaxy-E containing gps coordinates of the plots |
42 Var <- args[5] #### Nom du trait dans fichier de traits "nomdutrait" exemple: "ssi" pour l'indice de specialisation par sps / Name of the trait in the file containing trait data | 42 Var <- args[4] #### Nom du trait dans fichier de traits "nomdutrait" exemple: "ssi" pour l'indice de specialisation par sps / Name of the trait in the file containing trait data |
43 indicator <- args[6] #### Nom de l'indicateur ou du trait par communauté ex pour ssi c'est csi calculé au niveau communauté / Name of the indicator or the trait per community ex: for the ssi, it is the csi measured at the community level | 43 indicator <- args[5] #### Nom de l'indicateur ou du trait par communauté ex pour ssi c'est csi calculé au niveau communauté / Name of the indicator or the trait per community ex: for the ssi, it is the csi measured at the community level |
44 methode <- args[7] #### Methode d'analyse de l'evolution du trait ou de l'indicateur, lmer pour modèloe mixte seul ou gam pour generalized additive model / name of the models used to analyze evolution of mean trait or indicator | 44 methode <- args[6] #### Methode d'analyse de l'evolution du trait ou de l'indicateur, lmer pour modèloe mixte seul ou gam pour generalized additive model / name of the models used to analyze evolution of mean trait or indicator |
45 dd <- args[8] ##### Nom du fichier si déjà un fichier avec trait moyen par communauté, avec une colonne annee appelé "year" et une colonne plot appelé "carre" correspondant à l'echelle des communautés etudiées / name of the file if a file with the mean trait value per community is already prepared with one column named "year" for the year, one column named "carre" for the plots (the scale of the community measurment) | 45 dd <- args[7] ##### Nom du fichier si déjà un fichier avec trait moyen par communauté, avec une colonne annee appelé "year" et une colonne plot appelé "carre" correspondant à l'echelle des communautés etudiées / name of the file if a file with the mean trait value per community is already prepared with one column named "year" for the year, one column named "carre" for the plots (the scale of the community measurment) |
46 id<-args[9]#Id name for output res repo | 46 id<-args[8]#Id name for output res repo |
47 plot_smooth<-args[10]#TRUE or FALSE | 47 plot_smooth<-args[10]#TRUE or FALSE |
48 ic<-args[11]#TRUE or FALSE | 48 ic<-args[11]#TRUE or FALSE |
49 source(args[12]) | 49 source(args[12]) |
50 } | 50 } |
51 | 51 |
71 }else{ | 71 }else{ |
72 dd<-NULL | 72 dd<-NULL |
73 } | 73 } |
74 | 74 |
75 spTrait=read.table(tabtrait,sep="\t",dec=".",header=TRUE) ############# species_indicateur_fonctionnel.csv pour le STOC sinon fichier avec traits pour calcul du trait moyen par communauté / file with the trait for the community weighted mean calculation | 75 spTrait=read.table(tabtrait,sep="\t",dec=".",header=TRUE) ############# species_indicateur_fonctionnel.csv pour le STOC sinon fichier avec traits pour calcul du trait moyen par communauté / file with the trait for the community weighted mean calculation |
76 coordCarre=read.table(coordCarre,sep="\t",dec=".",header=TRUE) ######## carre.csv charge les coordonnées des carrés qui sont utilisés comme covariable / load the gps coordinates of the plots, is used as covariable in the models | |
77 | 76 |
78 dir.create(paste("Output/",sep=""),recursive=TRUE,showWarnings=FALSE)##### Creation du dossier de sortie | 77 dir.create(paste("Output/",sep=""),recursive=TRUE,showWarnings=FALSE)##### Creation du dossier de sortie |
79 #cat(paste("Create Output/","\n",sep="")) | 78 #cat(paste("Create Output/","\n",sep="")) |
80 | 79 |
81 ############################# The function | 80 ############################# The function |
111 abcarre <- aggregate(abond~annee+carre,tabCLEAN,sum) ### somme des abondances totales par annee et carre / sum of total abundance per year and plots | 110 abcarre <- aggregate(abond~annee+carre,tabCLEAN,sum) ### somme des abondances totales par annee et carre / sum of total abundance per year and plots |
112 indic <- traitcarre[,3]/abcarre[,3] #### le trait moyen par carre = indicateur par carre et annee / mean trait per plots = indicator per year and plots | 111 indic <- traitcarre[,3]/abcarre[,3] #### le trait moyen par carre = indicateur par carre et annee / mean trait per plots = indicator per year and plots |
113 dd <- data.frame(indic,traitcarre$carre,traitcarre$annee) | 112 dd <- data.frame(indic,traitcarre$carre,traitcarre$annee) |
114 names(dd)[2] <- "carre" | 113 names(dd)[2] <- "carre" |
115 names(dd)[3] <- "year" | 114 names(dd)[3] <- "year" |
116 dd$longitude_grid_wgs84 <- coordCarre$longitude_grid_wgs84[match(dd$carre,coordCarre$pk_carre)] #### recupere coordonnées gps / retrieve gps coordinates | |
117 dd$latitude_grid_wgs84 <- coordCarre$latitude_grid_wgs84[match(dd$carre,coordCarre$pk_carre)] #### recupere coordonnées gps / retrieve gps coordinates | |
118 dd$id_plot <- dd$carre ### id_plot nom données aux carrés dans le script /id_plot is use as the name of the plot in the following script | 115 dd$id_plot <- dd$carre ### id_plot nom données aux carrés dans le script /id_plot is use as the name of the plot in the following script |
119 }else{ | 116 }else{ |
120 colnames(dd)[colnames == "indicator"] <- "indic" | 117 colnames(dd)[colnames == "indicator"] <- "indic" |
121 } | 118 } |
122 | 119 |
124 annee <- sort(unique(dd$year)) | 121 annee <- sort(unique(dd$year)) |
125 nban <- length(annee) | 122 nban <- length(annee) |
126 pasdetemps <-nban-1 | 123 pasdetemps <-nban-1 |
127 | 124 |
128 if(methode == "gam") { | 125 if(methode == "gam") { |
126 coordCarre=read.table(coordCarre,sep="\t",dec=".",header=TRUE) ######## carre.csv charge les coordonnées des carrés qui sont utilisés comme covariable / load the gps coordinates of the plots, is used as covariable in the models | |
127 dd$longitude_grid_wgs84 <- coordCarre$longitude_grid_wgs84[match(dd$carre,coordCarre$pk_carre)] #### recupere coordonnées gps / retrieve gps coordinates | |
128 dd$latitude_grid_wgs84 <- coordCarre$latitude_grid_wgs84[match(dd$carre,coordCarre$pk_carre)] #### recupere coordonnées gps / retrieve gps coordinates | |
129 | |
129 cat("Methode: gam\n") | 130 cat("Methode: gam\n") |
130 ## Utilisation des modèles GAMM pour obtenir les tendances d evolution par an du csi cti ou ctri !!!! Marche pas si peu de données !!!! / Use of GAMM model for the estimation of the annual variations of the csi cti or ctri !!! does not work with few data !!! | 131 ## Utilisation des modèles GAMM pour obtenir les tendances d evolution par an du csi cti ou ctri !!!! Marche pas si peu de données !!!! / Use of GAMM model for the estimation of the annual variations of the csi cti or ctri !!! does not work with few data !!! |
131 cat("\nEstimation de la variation annuelle ",indicator,"~ factor(year)+s(longitude_grid_wgs84,latitude_grid_wgs84,bs='sos'),random=reStruct(object = ~ 1| id_plot,correlation=corAR1(form=~year)\n",sep="") | 132 cat("\nEstimation de la variation annuelle ",indicator,"~ factor(year)+s(longitude_grid_wgs84,latitude_grid_wgs84,bs='sos'),random=reStruct(object = ~ 1| id_plot,correlation=corAR1(form=~year)\n",sep="") |
132 gammf <- gamm(indic ~ factor(year)+s(longitude_grid_wgs84,latitude_grid_wgs84,bs="sos"), data=dd,random=reStruct(object = ~ 1| id_plot, pdClass="pdDiag"),correlation=corAR1(form=~year)) #### spline sur les coordonnées, effet aleatoire sur les carres, methode autoregressive sur l'année N-1 / spline on the gps coordinates, random effect on the plots, autoregressive method on the year-1 | 133 gammf <- gamm(indic ~ factor(year)+s(longitude_grid_wgs84,latitude_grid_wgs84,bs="sos"), data=dd,random=reStruct(object = ~ 1| id_plot, pdClass="pdDiag"),correlation=corAR1(form=~year)) #### spline sur les coordonnées, effet aleatoire sur les carres, methode autoregressive sur l'année N-1 / spline on the gps coordinates, random effect on the plots, autoregressive method on the year-1 |
133 # gammf <- gamm(indic ~ factor(year)+s(longitude_grid_wgs84,latitude_grid_wgs84,bs="sos"), data=dd,random=reStruct(object = ~ 1| id_plot, pdClass="pdDiag"),correlation=corAR1(form=~year)) #### spline sur les coordonnées, effet aleatoire sur les carres, methode autoregressive sur l'année N-1 / spline on the gps coordinates, random effect on the plots, autoregressive method on the year-1 | 134 # gammf <- gamm(indic ~ factor(year)+s(longitude_grid_wgs84,latitude_grid_wgs84,bs="sos"), data=dd,random=reStruct(object = ~ 1| id_plot, pdClass="pdDiag"),correlation=corAR1(form=~year)) #### spline sur les coordonnées, effet aleatoire sur les carres, methode autoregressive sur l'année N-1 / spline on the gps coordinates, random effect on the plots, autoregressive method on the year-1 |