Mercurial > repos > ecology > ecology_stat_presence_abs
annotate graph_pres_abs_abund.r @ 1:9a2e0195bb43 draft default tip
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 60627aba07951226c8fd6bb3115be4bd118edd4e"
author | ecology |
---|---|
date | Fri, 13 Aug 2021 18:18:21 +0000 |
parents | e5552099d0e3 |
children |
rev | line source |
---|---|
0
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
1 #Rscript |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
2 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
3 ######################################################### |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
4 ## Presence abscence and abundance in environment ## |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
5 ######################################################### |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
6 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
7 #####Packages : ggplot2 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
8 # vegan |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
9 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
10 #####Load arguments |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
11 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
12 args <- commandArgs(trailingOnly = TRUE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
13 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
14 if (length(args) < 5) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
15 stop("This tool needs at least 5 arguments") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
16 }else{ |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
17 table <- args[1] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
18 hr <- args[2] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
19 abundance <- as.logical(args[3]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
20 presabs <- as.logical(args[4]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
21 rarefaction <- as.logical(args[5]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
22 lat <- as.numeric(args[6]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
23 long <- as.numeric(args[7]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
24 ind <- as.character(args[8]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
25 loc <- as.numeric(args[9]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
26 num <- as.character(args[10]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
27 spe <- as.numeric(args[11]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
28 abond <- as.numeric(args[12]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
29 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
30 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
31 if (hr == "false") { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
32 hr <- FALSE |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
33 }else{ |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
34 hr <- TRUE |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
35 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
36 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
37 #####Import data |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
38 data <- read.table(table, sep = "\t", dec = ".", header = hr, fill = TRUE, encoding = "UTF-8") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
39 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
40 if (abundance) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
41 collat <- colnames(data)[lat] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
42 collong <- colnames(data)[long] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
43 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
44 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
45 if (presabs) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
46 colloc <- colnames(data)[loc] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
47 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
48 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
49 if (presabs | rarefaction | abundance) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
50 colabond <- colnames(data)[abond] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
51 colspe <- colnames(data)[spe] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
52 data <- data[grep("^$", data[, colspe], invert = TRUE), ] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
53 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
54 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
55 #####Your analysis |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
56 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
57 ####The abundance in the environment#### |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
58 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
59 ##Representation of the environment## |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
60 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
61 ## Mapping |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
62 graph_map <- function(data, collong, collat, colabond, ind, colspe) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
63 cat("\nCoordinates range\n\nLatitude from ", min(data[, collat], na.rm = TRUE), " to ", max(data[, collat], na.rm = TRUE), "\nLongitude from ", min(data[, collong], na.rm = TRUE), " to ", max(data[, collong], na.rm = TRUE), file = "Data_abund.txt", fill = 1, append = TRUE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
64 if (mult0) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
65 mappy <- ggplot2::ggplot(data, ggplot2::aes_string(x = collong, y = collat, cex = colabond, color = colspe)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
66 ggplot2::geom_point() + ggplot2::ggtitle(paste("Abundance of", ind, "in the environment")) + ggplot2::xlab("Longitude") + ggplot2::ylab("Latitude") + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), legend.text = ggplot2::element_text(size = 8)) + ggplot2::guides(cex = ggplot2::guide_legend(reverse = TRUE)) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
67 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
68 }else{ |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
69 mappy <- ggplot2::ggplot(data, ggplot2::aes_string(x = collong, y = collat, cex = colabond, color = colabond)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
70 ggplot2::geom_point() + ggplot2::ggtitle(paste("Abundance of", ind, "in the environment")) + ggplot2::xlab("Longitude") + ggplot2::ylab("Latitude") + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), legend.text = ggplot2::element_text(size = 8)) + ggplot2::guides(cex = ggplot2::guide_legend(reverse = TRUE)) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
71 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
72 ggplot2::ggsave("mappy.png", mappy, width = 20, height = 9, units = "cm") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
73 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
74 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
75 ####Presence absence abundance#### |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
76 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
77 ## Histogram |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
78 graph_hist <- function(data, col1, col2, col3) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
79 cat("\nLocations\n", unique(data[, col1]), file = "Locations.txt", fill = 1, append = TRUE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
80 if (mult1) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
81 for (loc in unique(data[, col1])) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
82 data_cut <- data[data[, col1] == loc, ] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
83 data_cut <- data_cut[data_cut[, col3] > 0, ] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
84 if (length(unique(data_cut[, col2])) <= 40) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
85 top <- nrow(data_cut) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
86 var <- nchar(as.character(round(top * 0.1, digits = 0))) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
87 step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1)) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
88 graph <- ggplot2::ggplot(data_cut) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
89 ggplot2::geom_bar(ggplot2::aes_string(x = col1, fill = col2)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
90 ggplot2::scale_y_continuous(breaks = seq(from = 0, to = top, by = step)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
91 ggplot2::theme(plot.title = ggplot2::element_text(color = "black", size = 12, face = "bold")) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
92 ggplot2::ggtitle("Number of presence") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
93 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
94 ggplot2::ggsave(paste("number_in_", loc, ".png"), graph) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
95 }else{ |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
96 cat(paste0("\n", loc, " had more than 40 species and plot isn't readable please select a higher taxon level or cut your data")) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
97 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
98 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
99 }else{ |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
100 top <- nrow(data) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
101 var <- nchar(as.character(round(top * 0.1, digits = 0))) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
102 step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1)) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
103 graph <- ggplot2::ggplot(data) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
104 ggplot2::geom_bar(ggplot2::aes_string(x = col1, fill = col2)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
105 ggplot2::scale_y_continuous(breaks = seq(from = 0, to = top, by = step)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
106 ggplot2::theme(plot.title = ggplot2::element_text(color = "black", size = 12, face = "bold")) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
107 ggplot2::ggtitle("Number of individuals") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
108 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
109 ggplot2::ggsave("number.png", graph) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
110 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
111 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
112 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
113 rare <- function(data, spe, abond, rare, num) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
114 # Put the data in form |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
115 new_data <- as.data.frame(data[, spe]) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
116 colnames(new_data) <- c("Species") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
117 new_data$total <- data[, abond] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
118 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
119 new_data$rarefaction <- as.integer(rare) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
120 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
121 end <- length(unique(new_data$Species)) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
122 out <- vegan::rarecurve(new_data[, 2:3], step = 10, sample = rarefy_sample, label = FALSE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
123 names(out) <- paste(unique(new_data$Species), sep = "") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
124 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
125 # Coerce data into "long" form. |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
126 protox <- mapply(FUN = function(x, y) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
127 mydf <- as.data.frame(x) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
128 colnames(mydf) <- "value" |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
129 mydf$species <- y |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
130 mydf$subsample <- attr(x, "Subsample") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
131 mydf <- na.omit(mydf) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
132 mydf |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
133 }, x = out, y = as.list(names(out)), SIMPLIFY = FALSE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
134 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
135 xy <- do.call(rbind, protox) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
136 rownames(xy) <- NULL # pretty |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
137 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
138 # Plot. |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
139 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
140 if (mult2) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
141 for (spe in unique(data[, spe])) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
142 xy_cut <- xy[xy$species == spe, ] |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
143 top <- max(xy_cut$subsample) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
144 var <- nchar(as.character(round(top * 0.1, digits = 0))) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
145 step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1)) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
146 courbe <- ggplot2::ggplot(xy_cut, ggplot2::aes(x = subsample, y = value)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
147 ggplot2::theme_gray() + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
148 ggplot2::geom_line(size = 1) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
149 ggplot2::scale_x_continuous(breaks = seq(from = 0, to = top, by = step)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
150 ggplot2::xlab("Abundance") + ggplot2::ylab("Value") + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
151 ggplot2::ggtitle("rarefaction curve") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
152 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
153 ggplot2::ggsave(paste("rarefaction_of_", spe, ".png"), courbe) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
154 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
155 }else{ |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
156 top <- max(xy$subsample) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
157 var <- nchar(as.character(round(top * 0.1, digits = 0))) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
158 step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1)) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
159 courbe <- ggplot2::ggplot(xy, ggplot2::aes(x = subsample, y = value, color = species)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
160 ggplot2::theme_gray() + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
161 ggplot2::geom_line(size = 1) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
162 ggplot2::scale_x_continuous(breaks = seq(from = 0, to = top, by = step)) + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
163 ggplot2::xlab("Subsample") + ggplot2::ylab("Value") + |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
164 ggplot2::ggtitle("rarefaction curves") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
165 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
166 ggplot2::ggsave("rarefaction.png", courbe) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
167 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
168 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
169 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
170 if (abundance) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
171 #Maps |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
172 mult0 <- ifelse(length(unique(data[, colspe])) > 10, FALSE, TRUE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
173 graph_map(data, collong = collong, collat = collat, colabond = colabond, ind = ind, colspe = colspe) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
174 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
175 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
176 if (presabs) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
177 #Presence absence count |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
178 mult1 <- ifelse(length(unique(data[, colloc])) <= 10, FALSE, TRUE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
179 graph_hist(data, col1 = colloc, col2 = colspe, col3 = colabond) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
180 } |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
181 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
182 if (rarefaction) { |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
183 #rarefaction |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
184 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
185 #### rarefaction indice #### |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
186 rarefy_sample <- as.numeric(num) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
187 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
188 ## Calcul de la rarefaction |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
189 rarefaction <- vegan::rarefy(data[, abond], rarefy_sample) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
190 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
191 write.table(rarefaction, "rare.tabular") |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
192 |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
193 mult2 <- ifelse(length(unique(data[, colspe])) <= 30, FALSE, TRUE) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
194 rare(data, spe = colspe, abond = colabond, rare = rarefaction, num = rarefy_sample) |
e5552099d0e3
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 2f883743403105d9cac6d267496d985100da3958"
ecology
parents:
diff
changeset
|
195 } |