Mercurial > repos > ecology > regionalgam_plot_trend
annotate dennis-gam-initial-functions.R @ 0:58ecd15e6836 draft default tip
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
| author | ecology | 
|---|---|
| date | Thu, 20 Jun 2019 04:04:43 -0400 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 
0
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
1 ### R-Script Adapted from script provided by the CEH, UK BY: Reto Schmucki [ reto.schmucki@mail.mcgill.ca] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
2 ### DATE: 14 July 2014 function to run two stage model in DENNIS et al. 2013 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
3 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
4 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
5 .onAttach <- function(libname, pkgname) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
6 packageStartupMessage(" The regionalGAM package that is no longer maintained, \n use the new rbms package instead. \n | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
7 devtools::install_github(\"RetoSchmucki/rbms\", force=TRUE)") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
8 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
9 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
10 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
11 #' year_day_func Function | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
12 #' This function generate the full sequence of days, months and include the observation to that file. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
13 #' @param sp_data A data.frame with your observation. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
14 #' @keywords year days | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
15 #' @export | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
16 #' @author Reto Schmucki | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
17 #' @examples | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
18 #' year_day_func() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
19 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
20 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
21 # FUNCTIONS | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
22 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
23 year_day_func = function(sp_data) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
24 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
25 year <- unique(sp_data$YEAR) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
26 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
27 origin.d <- paste(year, "01-01", sep = "-") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
28 if ((year%%4 == 0) & ((year%%100 != 0) | (year%%400 == 0))) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
29 nday <- 366 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
30 } else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
31 nday <- 365 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
32 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
33 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
34 date.serie <- as.POSIXlt(seq(as.Date(origin.d), length = nday, by = "day"), format = "%Y-%m-%d") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
35 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
36 dayno <- as.numeric(julian(date.serie, origin = as.Date(origin.d)) + 1) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
37 month <- as.numeric(strftime(date.serie, format = "%m")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
38 week <- as.numeric(strftime(date.serie, format = "%W")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
39 week_day <- as.numeric(strftime(date.serie, format = "%u")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
40 day <- as.numeric(strftime(date.serie, format = "%d")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
41 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
42 site_list <- sp_data[!duplicated(sp_data$SITE), c("SITE")] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
43 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
44 all_day_site <- data.frame(SPECIES = sp_data$SPECIES[1], SITE = rep(site_list, rep(nday, length(site_list))), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
45 YEAR = sp_data$YEAR[1], MONTH = month, WEEK = week, DAY = day, DAY_WEEK = week_day, DAYNO = dayno, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
46 COUNT = NA) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
47 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
48 count_index <- match(paste(sp_data$SITE, sp_data$DAYNO, sep = "_"), paste(all_day_site$SITE, all_day_site$DAYNO, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
49 sep = "_")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
50 all_day_site$COUNT[count_index] <- sp_data$COUNT | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
51 site_count_length <- aggregate(sp_data$COUNT, by = list(sp_data$SITE), function(x) list(1:length(x))) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
52 names(site_count_length$x) <- as.character(site_count_length$Group.1) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
53 site_countno <- utils::stack(site_count_length$x) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
54 all_day_site$COUNTNO <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
55 all_day_site$COUNTNO[count_index] <- site_countno$values # add count number to ease extraction of single count | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
56 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
57 # Add zero to close observation season two weeks before and after the first and last | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
58 first_obs <- min(all_day_site$DAYNO[!is.na(all_day_site$COUNT)]) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
59 last_obs <- max(all_day_site$DAYNO[!is.na(all_day_site$COUNT)]) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
60 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
61 closing_season <- c((first_obs - 11):(first_obs - 7), (last_obs + 7):(last_obs + 11)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
62 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
63 # If closing season is before day 1 or day 365, simply set the first and last 5 days to 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
64 if (min(closing_season) < 1) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
65 closing_season[1:5] <- c(1:5) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
66 if (max(closing_season) > nday) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
67 closing_season[6:10] <- c((nday - 4):nday) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
68 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
69 all_day_site$COUNT[all_day_site$DAYNO %in% closing_season] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
70 all_day_site$ANCHOR <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
71 all_day_site$ANCHOR[all_day_site$DAYNO %in% closing_season] <- 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
72 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
73 all_day_site <- all_day_site[order(all_day_site$SITE, all_day_site$DAYNO), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
74 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
75 return(all_day_site) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
76 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
77 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
78 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
79 #' trap_area Function | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
80 #' | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
81 #' This function compute the area under the curve using the trapezoid method. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
82 #' @param x A vector or a two columns matrix. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
83 #' @param y A vector, Default is NULL | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
84 #' @keywords trapezoid | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
85 #' @export | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
86 #' @examples | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
87 #' trap_area() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
88 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
89 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
90 trap_area = function(x, y = NULL) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
91 # If y is null and x has multiple columns then set y to x[,2] and x to x[,1] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
92 if (is.null(y)) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
93 if (length(dim(x)) == 2) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
94 y = x[, 2] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
95 x = x[, 1] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
96 } else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
97 stop("ERROR: need to either specifiy both x and y or supply a two column data.frame/matrix to x") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
98 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
99 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
100 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
101 # Check x and y are same length | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
102 if (length(x) != length(y)) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
103 stop("ERROR: x and y need to be the same length") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
104 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
105 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
106 # Need to exclude any pairs that are NA for either x or y | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
107 rm_inds = which(is.na(x) | is.na(y)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
108 if (length(rm_inds) > 0) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
109 x = x[-rm_inds] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
110 y = y[-rm_inds] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
111 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
112 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
113 # Determine values of trapezoids under curve Get inds | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
114 inds = 1:(length(x) - 1) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
115 # Determine area using trapezoidal rule Area = ( (b1 + b2)/2 ) * h where b1 and b2 are lengths of bases | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
116 # (the parallel sides) and h is the height (the perpendicular distance between two bases) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
117 areas = ((y[inds] + y[inds + 1])/2) * diff(x) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
118 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
119 # total area is sum of all trapezoid areas | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
120 tot_area = sum(areas) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
121 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
122 # Return total area | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
123 return(tot_area) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
124 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
125 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
126 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
127 #' trap_index Function | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
128 #' | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
129 #' This function compute the area under the curve (Abundance Index) across species, sites and years | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
130 #' @param sp_data A data.frame containing species count data generated from the year_day_func() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
131 #' @param y A vector, Default is NULL | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
132 #' @keywords Abundance index | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
133 #' @export | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
134 #' @examples | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
135 #' trap_index() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
136 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
137 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
138 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
139 trap_index = function(sp_data, data_col = "IMP", time_col = "DAYNO", by_col = c("SPECIES", "SITE", "YEAR")) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
140 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
141 # Build output data.frame | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
142 out_obj = unique(sp_data[, by_col]) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
143 # Set row.names to be equal to collapsing of output rows (will be unique, you need them to make uploading | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
144 # values back to data.frame will be easier) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
145 row.names(out_obj) = apply(out_obj, 1, paste, collapse = "_") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
146 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
147 # Using this row.names from out_obj above as index in by function to loop through values all unique combs | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
148 # of by_cols and fit trap_area to data | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
149 ind_dat = by(sp_data[, c(time_col, data_col)], apply(sp_data[, by_col], 1, paste, collapse = "_"), trap_area) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
150 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
151 # Add this data to output object | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
152 out_obj[names(ind_dat), "SINDEX"] = round(ind_dat/7, 1) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
153 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
154 # Set row.names to defaults | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
155 row.names(out_obj) = NULL | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
156 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
157 # Return output object | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
158 return(out_obj) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
159 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
160 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
161 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
162 #' flight_curve Function | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
163 #' This function compute the flight curve across and years | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
164 #' @param your_dataset A data.frame containing original species count data. The data format is a csv (comma "," separated) with 6 columns with headers, namely "species","transect_id","visit_year","visit_month","visit_day","sp_count" | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
165 #' @keywords standardize flight curve | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
166 #' @export | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
167 #' @examples | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
168 #' flight_curve() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
169 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
170 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
171 flight_curve <- function(your_dataset, GamFamily = 'nb', MinVisit = 2, MinOccur = 1) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
172 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
173 if("mgcv" %in% installed.packages() == "FALSE") { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
174 print("mgcv package is not installed.") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
175 x <- readline("Do you want to install it? Y/N") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
176 if (x == 'Y') { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
177 install.packages("mgcv") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
178 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
179 if (x == 'N') { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
180 stop("flight curve can not be computed without the mgcv package, sorry") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
181 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
182 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
183 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
184 flight_pheno <- data.frame() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
185 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
186 your_dataset$DAYNO <- strptime(paste(your_dataset$DAY, your_dataset$MONTH, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
187 your_dataset$YEAR, sep = "/"), "%d/%m/%Y")$yday + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
188 dataset <- your_dataset[, c("SPECIES", "SITE", "YEAR", "MONTH", | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
189 "DAY", "DAYNO", "COUNT")] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
190 sample_year <- unique(dataset$YEAR) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
191 sample_year <- sample_year[order(sample_year)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
192 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
193 if (length(sample_year) >1 ) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
194 for (y in sample_year) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
195 dataset_y <- dataset[dataset$YEAR == y, ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
196 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
197 # subset sites with enough visit and occurence | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
198 occ <- aggregate(dataset_y$COUNT, by = list(SITE = dataset_y$SITE), function(x) sum(x > 0)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
199 vis <- aggregate(dataset_y$COUNT, by = list(SITE = dataset_y$SITE), function(x) length(x)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
200 dataset_y <- dataset_y[dataset_y$SITE %in% occ$SITE[occ$x >= MinOccur], ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
201 dataset_y <- dataset_y[dataset_y$SITE %in% vis$SITE[vis$x >= MinVisit], ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
202 nsite <- length(unique(dataset_y$SITE)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
203 if (nsite < 1) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
204 print(paste("No sites with sufficient visits and occurence, MinOccur:", MinOccur, " MinVisit: ", MinVisit, " for " , dataset$SPECIES[1],"at year", y)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
205 next | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
206 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
207 # Determine missing days and add to dataset | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
208 sp_data_all <- year_day_func(dataset_y) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
209 if (nsite > 200) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
210 sp_data_all <- sp_data_all[as.character(sp_data_all$SITE) %in% as.character(unique(dataset_y$SITE)[sample(1:nsite, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
211 200, replace = F)]), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
212 sp_data_all <- sp_data_all | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
213 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
214 sp_data_all$trimDAYNO <- sp_data_all$DAYNO - min(sp_data_all$DAYNO) + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
215 print(paste("Fitting the GAM for",as.character(sp_data_all$SPECIES[1]),"and year",y,"with",length(unique(sp_data_all$SITE)),"sites :",Sys.time())) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
216 if(length(unique(sp_data_all$SITE))>1){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
217 gam_obj_site <- try(mgcv::gam(COUNT ~ s(trimDAYNO, bs = "cr") + as.factor(SITE) -1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
218 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
219 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
220 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
221 gam_obj_site <- try(mgcv::gam(COUNT ~ s(trimDAYNO, bs = "cr") -1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
222 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
223 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
224 # Give a second try if the GAM does not converge the first time | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
225 if (class(gam_obj_site)[1] == "try-error") { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
226 # Determine missing days and add to dataset | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
227 sp_data_all <- year_day_func(dataset_y) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
228 if (nsite > 200) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
229 sp_data_all <- sp_data_all[as.character(sp_data_all$SITE) %in% as.character(unique(dataset_y$SITE)[sample(1:nsite, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
230 200, replace = F)]), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
231 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
232 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
233 sp_data_all <- sp_data_all | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
234 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
235 sp_data_all$trimDAYNO <- sp_data_all$DAYNO - min(sp_data_all$DAYNO) + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
236 print(paste("Fitting the GAM for",sp_data_all$SPECIES[1],"at year", y,"with",length(unique(sp_data_all$SITE)),"sites :",Sys.time(),"second try")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
237 if(length(unique(sp_data_all$SITE))>1){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
238 gam_obj_site <- try(mgcv::gam(COUNT ~ s(trimDAYNO, bs = "cr") + as.factor(SITE) -1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
239 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
240 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
241 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
242 gam_obj_site <- try(mgcv::gam(COUNT ~ s(trimDAYNO, bs = "cr") -1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
243 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
244 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
245 if (class(gam_obj_site)[1] == "try-error") { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
246 print(paste("Error in fitting the flight period for",sp_data_all$SPECIES[1],"at year", y,"no convergence after two trial")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
247 sp_data_all[, "FITTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
248 sp_data_all[, "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
249 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
250 sp_data_all[, "NM"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
251 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
252 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
253 # Generate a list of values for all days from the additive model and use | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
254 # these value to fill the missing observations | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
255 sp_data_all[, "FITTED"] <- mgcv::predict.gam(gam_obj_site, newdata = sp_data_all[, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
256 c("trimDAYNO", "SITE")], type = "response") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
257 # force zeros at the beginning end end of the year | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
258 sp_data_all[sp_data_all$trimDAYNO < 60, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
259 sp_data_all[sp_data_all$trimDAYNO > 305, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
260 # if infinite number in predict replace with NA. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
261 if(sum(is.infinite(sp_data_all[, "FITTED"]))>0){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
262 print(paste("Error in the flight period for",sp_data_all$SPECIES[1],"at year", y,"weird predicted values")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
263 sp_data_all[, "FITTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
264 sp_data_all[, "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
265 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
266 sp_data_all[, "NM"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
267 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
268 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
269 sp_data_all[, "COUNT_IMPUTED"] <- sp_data_all$COUNT | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
270 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- sp_data_all$FITTED[is.na(sp_data_all$COUNT)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
271 # Define the flight curve from the fitted values and append them over | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
272 # years (this is one flight curve per year for all site) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
273 site_sums <- aggregate(sp_data_all$FITTED, by = list(SITE = sp_data_all$SITE), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
274 FUN = sum) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
275 # Rename sum column | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
276 names(site_sums)[names(site_sums) == "x"] <- "SITE_YR_FSUM" | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
277 # Add data to sp_data data.frame (ensure merge does not sort the data!) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
278 sp_data_all = merge(sp_data_all, site_sums, by <- c("SITE"), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
279 all = TRUE, sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
280 # Calculate normalized values | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
281 sp_data_all[, "NM"] <- sp_data_all$FITTED/sp_data_all$SITE_YR_FSUM | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
282 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
283 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
284 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
285 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
286 # Generate a list of values for all days from the additive model and use | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
287 # these value to fill the missing observations | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
288 sp_data_all[, "FITTED"] <- mgcv::predict.gam(gam_obj_site, newdata = sp_data_all[, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
289 c("trimDAYNO", "SITE")], type = "response") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
290 # force zeros at the beginning end end of the year | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
291 sp_data_all[sp_data_all$trimDAYNO < 60, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
292 sp_data_all[sp_data_all$trimDAYNO > 305, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
293 # if infinite number in predict replace with NA. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
294 if(sum(is.infinite(sp_data_all[, "FITTED"]))>0){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
295 print(paste("Error in the flight period for",sp_data_all$SPECIES[1],"at year", y,"weird predicted values")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
296 sp_data_all[, "FITTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
297 sp_data_all[, "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
298 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
299 sp_data_all[, "NM"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
300 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
301 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
302 sp_data_all[, "COUNT_IMPUTED"] <- sp_data_all$COUNT | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
303 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- sp_data_all$FITTED[is.na(sp_data_all$COUNT)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
304 # Define the flight curve from the fitted values and append them over | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
305 # years (this is one flight curve per year for all site) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
306 site_sums = aggregate(sp_data_all$FITTED, by = list(SITE = sp_data_all$SITE), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
307 FUN = sum) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
308 # Rename sum column | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
309 names(site_sums)[names(site_sums) == "x"] = "SITE_YR_FSUM" | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
310 # Add data to sp_data data.frame (ensure merge does not sort the data!) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
311 sp_data_all = merge(sp_data_all, site_sums, by = c("SITE"), all = TRUE, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
312 sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
313 # Calculate normalized values | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
314 sp_data_all[, "NM"] = sp_data_all$FITTED/sp_data_all$SITE_YR_FSUM | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
315 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
316 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
317 sp_data_filled <- sp_data_all | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
318 flight_curve <- data.frame(species = sp_data_filled$SPECIES, year = sp_data_filled$YEAR, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
319 week = sp_data_filled$WEEK, DAYNO = sp_data_filled$DAYNO, DAYNO_adj = sp_data_filled$trimDAYNO, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
320 nm = sp_data_filled$NM)[!duplicated(paste(sp_data_filled$YEAR, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
321 sp_data_filled$DAYNO, sep = "_")), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
322 flight_curve <- flight_curve[order(flight_curve$DAYNO), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
323 # bind if exist else create | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
324 if (is.na(flight_curve$nm[1])) next() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
325 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
326 flight_pheno <- rbind(flight_pheno, flight_curve) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
327 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
328 } # end of year loop | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
329 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
330 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
331 y <- unique(dataset$YEAR) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
332 dataset_y <- dataset[dataset$YEAR == y, ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
333 # subset sites with enough visit and occurence | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
334 occ <- aggregate(dataset_y$COUNT, by = list(SITE = dataset_y$SITE), function(x) sum(x > 0)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
335 vis <- aggregate(dataset_y$COUNT, by = list(SITE = dataset_y$SITE), function(x) length(x)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
336 dataset_y <- dataset_y[dataset_y$SITE %in% occ$SITE[occ$x >= MinOccur], ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
337 dataset_y <- dataset_y[dataset_y$SITE %in% vis$SITE[vis$x >= MinVisit], ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
338 nsite <- length(unique(dataset_y$SITE)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
339 if (nsite < 1) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
340 stop(paste("No sites with sufficient visits and occurence, MinOccur:", MinOccur, " MinVisit: ", MinVisit, " for " ,dataset$SPECIES[1],"at year", y)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
341 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
342 # Determine missing days and add to dataset | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
343 sp_data_all <- year_day_func(dataset_y) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
344 if (nsite > 200) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
345 sp_data_all <- sp_data_all[as.character(sp_data_all$SITE) %in% as.character(unique(dataset_y$SITE)[sample(1:nsite, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
346 200, replace = F)]), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
347 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
348 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
349 sp_data_all <- sp_data_all | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
350 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
351 sp_data_all$trimDAYNO <- sp_data_all$DAYNO - min(sp_data_all$DAYNO) + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
352 print(paste("Fitting the GAM for",sp_data_all$SPECIES[1],"at year", y,":",Sys.time())) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
353 if(length(unique(sp_data_all$SITE))>1){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
354 gam_obj_site <- try(mgcv::gam(COUNT ~ s(trimDAYNO, bs = "cr") + as.factor(SITE) -1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
355 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
356 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
357 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
358 gam_obj_site <- try(mgcv::gam(COUNT ~ s(trimDAYNO, bs = "cr") -1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
359 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
360 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
361 # Give a second try if the GAM does not converge the first time | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
362 if (class(gam_obj_site)[1] == "try-error") { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
363 # Determine missing days and add to dataset | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
364 sp_data_all <- year_day_func(dataset_y) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
365 if (nsite > 200) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
366 sp_data_all <- sp_data_all[as.character(sp_data_all$SITE) %in% as.character(unique(dataset_y$SITE)[sample(1:nsite, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
367 200, replace = F)]), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
368 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
369 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
370 sp_data_all <- sp_data_all | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
371 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
372 sp_data_all$trimDAYNO <- sp_data_all$DAYNO - min(sp_data_all$DAYNO) + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
373 print(paste("Fitting the GAM for",sp_data_all$SPECIES[1],"at year", y,"with",length(unique(sp_data_all$SITE)),"sites :",Sys.time(),"second try")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
374 if(length(unique(sp_data_all$SITE))>1){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
375 gam_obj_site <- try(mgcv::bam(COUNT ~ s(trimDAYNO, bs = "cr") + as.factor(SITE) - 1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
376 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
377 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
378 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
379 gam_obj_site <- try(mgcv::gam(COUNT ~ s(trimDAYNO, bs = "cr") -1, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
380 data = sp_data_all, family = GamFamily), silent = TRUE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
381 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
382 if (class(gam_obj_site)[1] == "try-error") { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
383 print(paste("Error in fitting the flight period for",sp_data_all$SPECIES[1],"at year", y,"no convergence after two trial")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
384 sp_data_all[, "FITTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
385 sp_data_all[, "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
386 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
387 sp_data_all[, "NM"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
388 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
389 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
390 # Generate a list of values for all days from the additive model and use | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
391 # these value to fill the missing observations | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
392 sp_data_all[, "FITTED"] <- mgcv::predict.gam(gam_obj_site, newdata = sp_data_all[, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
393 c("trimDAYNO", "SITE")], type = "response") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
394 # force zeros at the beginning end end of the year | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
395 sp_data_all[sp_data_all$trimDAYNO < 60, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
396 sp_data_all[sp_data_all$trimDAYNO > 305, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
397 # if infinite number in predict replace with NA. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
398 if(sum(is.infinite(sp_data_all[, "FITTED"]))>0){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
399 print(paste("Error in the flight period for",sp_data_all$SPECIES[1],"at year", y,"weird predicted values")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
400 sp_data_all[, "FITTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
401 sp_data_all[, "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
402 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
403 sp_data_all[, "NM"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
404 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
405 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
406 sp_data_all[, "COUNT_IMPUTED"] <- sp_data_all$COUNT | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
407 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- sp_data_all$FITTED[is.na(sp_data_all$COUNT)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
408 # Define the flight curve from the fitted values and append them over | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
409 # years (this is one flight curve per year for all site) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
410 site_sums <- aggregate(sp_data_all$FITTED, by = list(SITE = sp_data_all$SITE), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
411 FUN = sum) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
412 # Rename sum column | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
413 names(site_sums)[names(site_sums) == "x"] <- "SITE_YR_FSUM" | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
414 # Add data to sp_data data.frame (ensure merge does not sort the data!) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
415 sp_data_all = merge(sp_data_all, site_sums, by <- c("SITE"), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
416 all = TRUE, sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
417 # Calculate normalized values | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
418 sp_data_all[, "NM"] <- sp_data_all$FITTED/sp_data_all$SITE_YR_FSUM | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
419 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
420 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
421 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
422 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
423 # Generate a list of values for all days from the additive model and use | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
424 # these value to fill the missing observations | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
425 sp_data_all[, "FITTED"] <- mgcv::predict.gam(gam_obj_site, newdata = sp_data_all[, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
426 c("trimDAYNO", "SITE")], type = "response") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
427 # force zeros at the beginning end end of the year | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
428 sp_data_all[sp_data_all$trimDAYNO < 60, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
429 sp_data_all[sp_data_all$trimDAYNO > 305, "FITTED"] <- 0 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
430 # if infinite number in predict replace with NA. | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
431 if(sum(is.infinite(sp_data_all[, "FITTED"]))>0){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
432 print(paste("Error in the flight period for",sp_data_all$SPECIES[1],"at year", y,"weird predicted values")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
433 sp_data_all[, "FITTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
434 sp_data_all[, "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
435 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
436 sp_data_all[, "NM"] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
437 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
438 else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
439 sp_data_all[, "COUNT_IMPUTED"] <- sp_data_all$COUNT | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
440 sp_data_all[is.na(sp_data_all$COUNT), "COUNT_IMPUTED"] <- sp_data_all$FITTED[is.na(sp_data_all$COUNT)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
441 # Define the flight curve from the fitted values and append them over | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
442 # years (this is one flight curve per year for all site) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
443 site_sums = aggregate(sp_data_all$FITTED, by = list(SITE = sp_data_all$SITE), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
444 FUN = sum) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
445 # Rename sum column | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
446 names(site_sums)[names(site_sums) == "x"] = "SITE_YR_FSUM" | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
447 # Add data to sp_data data.frame (ensure merge does not sort the data!) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
448 sp_data_all = merge(sp_data_all, site_sums, by = c("SITE"), all = TRUE, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
449 sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
450 # Calculate normalized values | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
451 sp_data_all[, "NM"] = sp_data_all$FITTED/sp_data_all$SITE_YR_FSUM | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
452 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
453 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
454 sp_data_filled <- sp_data_all | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
455 flight_curve <- data.frame(species = sp_data_filled$SPECIES, year = sp_data_filled$YEAR, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
456 week = sp_data_filled$WEEK, DAYNO = sp_data_filled$DAYNO, DAYNO_adj = sp_data_filled$trimDAYNO, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
457 nm = sp_data_filled$NM)[!duplicated(paste(sp_data_filled$YEAR, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
458 sp_data_filled$DAYNO, sep = "_")), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
459 flight_curve <- flight_curve[order(flight_curve$DAYNO), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
460 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
461 flight_pheno <- rbind(flight_pheno, flight_curve) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
462 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
463 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
464 return(flight_pheno) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
465 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
466 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
467 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
468 #' abundance_index Function | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
469 #' | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
470 #' This function compute the Abundance Index across sites and years from your dataset and the regional flight curve | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
471 #' @param your_dataset A data.frame containing original species count data. The data format is a csv (comma "," separated) with 6 columns with headers, namely "species","transect_id","visit_year","visit_month","visit_day","sp_count" | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
472 #' @param flight_pheno A data.frame for the regional flight curve computed with the function flight_curve | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
473 #' @keywords standardize flight curve | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
474 #' @export | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
475 #' @examples | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
476 #' abundance_index() | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
477 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
478 abundance_index <- function(your_dataset,flight_pheno) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
479 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
480 your_dataset$DAYNO <- strptime(paste(your_dataset$DAY, your_dataset$MONTH, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
481 your_dataset$YEAR, sep = "/"), "%d/%m/%Y")$yday + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
482 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
483 dataset <- your_dataset[, c("SPECIES", "SITE", "YEAR", "MONTH", | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
484 "DAY", "DAYNO", "COUNT")] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
485 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
486 sample_year <- unique(dataset$YEAR) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
487 sample_year <- sample_year[order(sample_year)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
488 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
489 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
490 if (length(sample_year)>1){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
491 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
492 for (y in sample_year) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
493 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
494 year_pheno <- flight_pheno[flight_pheno$year == y, ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
495 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
496 dataset_y <- dataset[dataset$YEAR == y, ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
497 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
498 sp_data_site <- year_day_func(dataset_y) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
499 sp_data_site$trimDAYNO <- sp_data_site$DAYNO - min(sp_data_site$DAYNO) + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
500 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
501 sp_data_site <- merge(sp_data_site, year_pheno[, c("DAYNO", "nm")], | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
502 by = c("DAYNO"), all.x = TRUE, sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
503 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
504 # compute proportion of the flight curve sampled due to missing visits | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
505 pro_missing_count <- data.frame(SITE = sp_data_site$SITE, WEEK = sp_data_site$WEEK, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
506 NM = sp_data_site$nm, COUNT = sp_data_site$COUNT, ANCHOR = sp_data_site$ANCHOR) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
507 pro_missing_count$site_week <- paste(pro_missing_count$SITE, pro_missing_count$WEEK, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
508 sep = "_") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
509 siteweeknocount <- aggregate(pro_missing_count$COUNT, by = list(pro_missing_count$site_week), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
510 function(x) sum(!is.na(x)) == 0) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
511 pro_missing_count <- pro_missing_count[pro_missing_count$site_week %in% | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
512 siteweeknocount$Group.1[siteweeknocount$x == TRUE], ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
513 pro_count_agg <- aggregate(pro_missing_count$NM, by = list(pro_missing_count$SITE), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
514 function(x) 1 - sum(x, na.rm = T)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
515 names(pro_count_agg) <- c("SITE", "PROP_PHENO_SAMPLED") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
516 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
517 # remove samples outside the monitoring window | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
518 sp_data_site$COUNT[sp_data_site$nm==0] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
519 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
520 # Compute the regional GAM index | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
521 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
522 if(length(unique(sp_data_site$SITE))>1){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
523 glm_obj_site <- glm(COUNT ~ factor(SITE) + offset(log(nm)) - 1, data = sp_data_site, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
524 family = quasipoisson(link = "log"), control = list(maxit = 100)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
525 } else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
526 glm_obj_site <- glm(COUNT ~ offset(log(nm)) - 1, data = sp_data_site, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
527 family = quasipoisson(link = "log"), control = list(maxit = 100)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
528 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
529 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
530 sp_data_site[, "FITTED"] <- predict.glm(glm_obj_site, newdata = sp_data_site, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
531 type = "response") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
532 sp_data_site[, "COUNT_IMPUTED"] <- sp_data_site$COUNT | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
533 sp_data_site[is.na(sp_data_site$COUNT), "COUNT_IMPUTED"] <- sp_data_site$FITTED[is.na(sp_data_site$COUNT)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
534 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
535 ## add fitted value for missing mid-week data | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
536 sp_data_site <- sp_data_site[!paste(sp_data_site$DAY_WEEK, sp_data_site$COUNT) %in% | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
537 c("1 NA", "2 NA", "3 NA", "5 NA", "6 NA", "7 NA"), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
538 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
539 ## remove all added mid-week values for weeks with real count | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
540 ## (observation) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
541 sp_data_site$site_week <- paste(sp_data_site$SITE, sp_data_site$WEEK, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
542 sep = "_") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
543 siteweekcount <- aggregate(sp_data_site$COUNT, by = list(sp_data_site$site_week), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
544 function(x) sum(!is.na(x)) > 0) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
545 sp_data_site <- sp_data_site[!(is.na(sp_data_site$COUNT) & (sp_data_site$site_week %in% | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
546 siteweekcount$Group.1[siteweekcount$x == TRUE])), names(sp_data_site) != | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
547 "site_week"] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
548 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
549 ## Compute the regional GAM index | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
550 print(paste("Compute index for",sp_data_site$SPECIES[1],"at year", y,"for",length(unique(sp_data_site$SITE)),"sites:",Sys.time())) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
551 regional_gam_index <- trap_index(sp_data_site, data_col = "COUNT_IMPUTED", | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
552 time_col = "DAYNO", by_col = c("SPECIES", "SITE", "YEAR")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
553 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
554 cumu_index <- merge(regional_gam_index, pro_count_agg, by = c("SITE"), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
555 all.x = TRUE, sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
556 names(cumu_index) <- c("SITE", "SPECIES", "YEAR", "regional_gam", "prop_pheno_sampled") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
557 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
558 cumu_index <- cumu_index[order(cumu_index$SITE), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
559 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
560 # bind if exist else create | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
561 if ("cumullated_indices" %in% ls()) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
562 cumullated_indices <- rbind(cumullated_indices, cumu_index) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
563 } else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
564 cumullated_indices <- cumu_index | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
565 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
566 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
567 } # end of year loop | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
568 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
569 } else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
570 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
571 y <- unique(dataset$YEAR) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
572 year_pheno <- flight_pheno[flight_pheno$year == y, ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
573 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
574 dataset_y <- dataset[dataset$YEAR == y, ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
575 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
576 sp_data_site <- year_day_func(dataset_y) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
577 sp_data_site$trimDAYNO <- sp_data_site$DAYNO - min(sp_data_site$DAYNO) + 1 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
578 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
579 sp_data_site <- merge(sp_data_site, year_pheno[, c("DAYNO", "nm")], | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
580 by = c("DAYNO"), all.x = TRUE, sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
581 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
582 # compute proportion of the flight curve sampled due to missing visits | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
583 pro_missing_count <- data.frame(SITE = sp_data_site$SITE, WEEK = sp_data_site$WEEK, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
584 NM = sp_data_site$nm, COUNT = sp_data_site$COUNT, ANCHOR = sp_data_site$ANCHOR) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
585 pro_missing_count$site_week <- paste(pro_missing_count$SITE, pro_missing_count$WEEK, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
586 sep = "_") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
587 siteweeknocount <- aggregate(pro_missing_count$COUNT, by = list(pro_missing_count$site_week), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
588 function(x) sum(!is.na(x)) == 0) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
589 pro_missing_count <- pro_missing_count[pro_missing_count$site_week %in% | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
590 siteweeknocount$Group.1[siteweeknocount$x == TRUE], ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
591 pro_count_agg <- aggregate(pro_missing_count$NM, by = list(pro_missing_count$SITE), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
592 function(x) 1 - sum(x, na.rm = T)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
593 names(pro_count_agg) <- c("SITE", "PROP_PHENO_SAMPLED") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
594 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
595 # remove samples outside the monitoring window | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
596 sp_data_site$COUNT[sp_data_site$nm==0] <- NA | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
597 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
598 # Compute the regional GAM index | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
599 if(length(unique(sp_data_site$SITE))>1){ | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
600 glm_obj_site <- glm(COUNT ~ factor(SITE) + offset(log(nm)) - 1, data = sp_data_site, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
601 family = quasipoisson(link = "log"), control = list(maxit = 100)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
602 } else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
603 glm_obj_site <- glm(COUNT ~ offset(log(nm)) - 1, data = sp_data_site, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
604 family = quasipoisson(link = "log"), control = list(maxit = 100)) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
605 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
606 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
607 sp_data_site[, "FITTED"] <- predict.glm(glm_obj_site, newdata = sp_data_site, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
608 type = "response") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
609 sp_data_site[, "COUNT_IMPUTED"] <- sp_data_site$COUNT | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
610 sp_data_site[is.na(sp_data_site$COUNT), "COUNT_IMPUTED"] <- sp_data_site$FITTED[is.na(sp_data_site$COUNT)] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
611 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
612 # add fitted value for missing mid-week data | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
613 sp_data_site <- sp_data_site[!paste(sp_data_site$DAY_WEEK, sp_data_site$COUNT) %in% | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
614 c("1 NA", "2 NA", "3 NA", "5 NA", "6 NA", "7 NA"), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
615 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
616 # remove all added mid-week values for weeks with real count | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
617 # (observation) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
618 sp_data_site$site_week <- paste(sp_data_site$SITE, sp_data_site$WEEK, | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
619 sep = "_") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
620 siteweekcount <- aggregate(sp_data_site$COUNT, by = list(sp_data_site$site_week), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
621 function(x) sum(!is.na(x)) > 0) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
622 sp_data_site <- sp_data_site[!(is.na(sp_data_site$COUNT) & (sp_data_site$site_week %in% | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
623 siteweekcount$Group.1[siteweekcount$x == TRUE])), names(sp_data_site) != | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
624 "site_week"] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
625 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
626 # Compute the regional gam index | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
627 print(paste("Compute index for",sp_data_site$SPECIES[1],"at year", y,"for",length(unique(sp_data_site$SITE)),"sites:",Sys.time())) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
628 regional_gam_index <- trap_index(sp_data_site, data_col = "COUNT_IMPUTED", | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
629 time_col = "DAYNO", by_col = c("SPECIES", "SITE", "YEAR")) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
630 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
631 cumu_index <- merge(regional_gam_index, pro_count_agg, by = c("SITE"), | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
632 all.x = TRUE, sort = FALSE) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
633 names(cumu_index) <- c("SITE", "SPECIES", "YEAR", "regional_gam", "prop_pheno_sampled") | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
634 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
635 cumu_index <- cumu_index[order(cumu_index$SITE), ] | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
636 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
637 # bind if exist else create | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
638 if ("cumullated_indices" %in% ls()) { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
639 cumullated_indices <- rbind(cumullated_indices, cumu_index) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
640 } else { | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
641 cumullated_indices <- cumu_index | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
642 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
643 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
644 } | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
645 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
646 return(cumullated_indices) | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
647 | 
| 
 
58ecd15e6836
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/regionalgam commit ffe42225fff8992501b743ebe2c78e50fddc4a4e
 
ecology 
parents:  
diff
changeset
 | 
648 } | 
