Mercurial > repos > ecology > vigiechiro_idvalid
annotate IdValid.R @ 0:8c472c4f1bf5 draft
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
author | ecology |
---|---|
date | Wed, 13 Mar 2019 11:18:58 -0400 |
parents | |
children |
rev | line source |
---|---|
0
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
1 #!/usr/bin/env Rscript |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
2 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
3 suppressMessages(library(data.table)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
4 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
5 ValidHier=function(x,y) #used to write validator id over observer id |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
6 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
7 #cat(y) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
8 if(is.na(y)){x}else{y} |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
9 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
10 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
11 f2p <- function(x) #get date-time data from recording file names |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
12 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
13 if (is.data.frame((x)[1])) {pretemps <- vector(length = nrow(x))} |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
14 op <- options(digits.secs = 3) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
15 pretemps <- paste(substr(x, nchar(x) - 18, nchar(x)-4), ".", substr(x, nchar(x) - 2, nchar(x)), sep = "") |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
16 strptime(pretemps, "%Y%m%d_%H%M%OS",tz="UTC")-7200 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
17 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
18 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
19 args <- commandArgs(trailingOnly = TRUE) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
20 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
21 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
22 IdCorrect=fread(args[1]) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
23 RefSeuil=fread(args[2]) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
24 #IdV=as.data.frame(subset(IdCorrect,select=observateur_taxon:validateur_probabilite)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
25 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
26 #Step 0 :compute id score from 2nd Layer |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
27 test=match("participation",names(IdCorrect)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
28 IdCorrect$IdScore=apply(as.data.frame(IdCorrect)[,(test+1):(ncol(IdCorrect)-1)],MARGIN=1,FUN=max) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
29 #compute true success probabilities according to logistic regression issued from "Referentiel_seuils" |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
30 CorrSp=match(IdCorrect$ProbEsp_C2bs,RefSeuil$Espece) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
31 PSp=RefSeuil$Pente[CorrSp] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
32 ISp=RefSeuil$Int[CorrSp] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
33 suppressWarnings(IdCorrect$IdProb<-mapply(FUN=function(w,x,y) if((!is.na(y))&(y>0)&(y<1000)) {(exp(y*w+x)/(1+exp(y*w+x)))}else{w} ,IdCorrect$IdScore,ISp,PSp)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
34 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
35 #Step 1 :compute id with confidence regarding a hierarchy (validator > observer) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
36 IdCorrect$IdV=mapply(ValidHier,IdCorrect$observateur_taxon,IdCorrect$validateur_taxon) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
37 IdCorrect$ConfV=mapply(ValidHier,IdCorrect$observateur_probabilite |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
38 ,IdCorrect$validateur_probabilite) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
39 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
40 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
41 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
42 #Step 2: Get numerictime data |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
43 suppressWarnings(IdCorrect$Session<-NULL) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
44 suppressWarnings(IdCorrect$TimeNum<-NULL) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
45 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
46 if (substr(IdCorrect$`nom du fichier`[1],2,2)=="i") #for car/walk transects |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
47 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
48 FileInfo=as.data.table(tstrsplit(IdCorrect$`nom du fichier`,"-")) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
49 IdCorrect$Session=as.numeric(substr(FileInfo$V4,5,nchar(FileInfo$V4))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
50 TimeSec=as.data.table(tstrsplit(FileInfo$V5,"_")) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
51 TimeSec=as.data.frame(TimeSec) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
52 if(sum(TimeSec[,(ncol(TimeSec)-1)]!="00000")==0) #to deal with double Kaleidoscope treatments |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
53 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
54 print("NOMS DE FICHIERS NON CONFORMES") |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
55 print("Vous les avez probablement traiter 2 fois par Kaleidoscope") |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
56 stop("Merci de nous signaler cette erreur par mail pour correction") |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
57 }else{ |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
58 IdCorrect$TimeNum=(IdCorrect$Session*800 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
59 +as.numeric(TimeSec[,(ncol(TimeSec)-1)]) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
60 +as.numeric(TimeSec[,(ncol(TimeSec))])/1000) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
61 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
62 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
63 }else{ |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
64 if(substr(IdCorrect$`nom du fichier`[1],2,2)=="a") #for stationary recordings |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
65 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
66 DateRec=as.POSIXlt(f2p(IdCorrect$`nom du fichier`)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
67 Nuit=format(as.Date(DateRec-43200*(DateRec$hour<12)),format="%d/%m/%Y") |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
68 #Nuit[is.na(Nuit)]=0 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
69 IdCorrect$Session=Nuit |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
70 IdCorrect$TimeNum=as.numeric(DateRec) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
71 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
72 }else{ |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
73 print("NOMS DE FICHIERS NON CONFORMES") |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
74 stop("Ils doivent commencer par Cir (routier/pedestre) ou par Car (points fixes") |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
75 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
76 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
77 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
78 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
79 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
80 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
81 #Step 3 :treat sequentially each species identified by Tadarida-C |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
82 IdExtrap=vector() #to store the id extrapolated from validations |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
83 IdC2=IdCorrect[0,] #to store data in the right order |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
84 TypeE=vector() #to store the type of extrapolation made |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
85 for (j in 1:nlevels(as.factor(IdCorrect$ProbEsp_C2bs))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
86 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
87 IdSp=subset(IdCorrect |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
88 ,IdCorrect$ProbEsp_C2bs==levels(as.factor(IdCorrect$ProbEsp_C2bs))[j]) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
89 if(sum(is.na(IdSp$IdV))==(nrow(IdSp))) #case 1 : no validation no change |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
90 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
91 IdC2=rbind(IdC2,IdSp) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
92 IdExtrap=c(IdExtrap,rep(IdSp$ProbEsp_C2bs[1],nrow(IdSp))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
93 TypeE=c(TypeE,rep(0,nrow(IdSp))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
94 }else{ #case 2: some validation |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
95 Vtemp=subset(IdSp,is.na(IdSp$IdV)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
96 #case2A: validations are homogeneous |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
97 if(nlevels(as.factor(Vtemp$IdV))==1) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
98 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
99 IdC2=rbind(IdC2,IdSp) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
100 IdExtrap=c(IdExtrap,rep(Vtemp$IdV[1],nrow(IdSp))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
101 TypeE=c(TypeE,rep(2,nrow(IdSp))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
102 }else{ |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
103 #case 2B: validations are heterogeneous |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
104 #case 2B1: some validations confirms the species identified by Tadarida and highest confidence are confirmed |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
105 subVT=subset(Vtemp,Vtemp$IdV==levels(as.factor(IdCorrect$ProbEsp_C2bs))[j]) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
106 subVF=subset(Vtemp,Vtemp$IdV!=levels(as.factor(IdCorrect$ProbEsp_C2bs))[j]) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
107 if((nrow(subVT)>0)&(max(subVT$IdProb)>max(subVF$IdProb))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
108 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
109 Vtemp=Vtemp[order(Vtemp$IdProb),] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
110 test=(Vtemp$IdV!=Vtemp$ProbEsp_C2bs) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
111 Fr1=max(which(test == TRUE)) #find the error with highest indices |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
112 Thr1=mean(Vtemp$IdProb[(Fr1):(Fr1+1)]) #define first threshold as the median confidence between the first error and the confirmed ID right over it |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
113 #id over this threshold are considered right |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
114 IdHC=subset(IdSp,IdSp$IdProb>Thr1) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
115 IdC2=rbind(IdC2,IdHC) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
116 IdExtrap=c(IdExtrap,rep(Vtemp$IdV[nrow(Vtemp)],nrow(IdHC))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
117 TypeE=c(TypeE,rep(2,nrow(IdHC))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
118 #id under this threshold are attributed to validated id closest in time |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
119 Vtemp=Vtemp[order(Vtemp$TimeNum),] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
120 cuts <- c(-Inf, Vtemp$TimeNum[-1]-diff(Vtemp$TimeNum)/2, Inf) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
121 CorrV=findInterval(IdSp$TimeNum, cuts) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
122 IdE=Vtemp$IdV[CorrV] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
123 IdEL=subset(IdE,IdSp$IdProb<=Thr1) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
124 IdLC=subset(IdSp,IdSp$IdProb<=Thr1) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
125 IdExtrap=c(IdExtrap,IdEL) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
126 TypeE=c(TypeE,rep(1,length(IdEL))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
127 IdC2=rbind(IdC2,IdLC) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
128 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
129 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
130 }else{ |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
131 #case 2B2: all validations concerns errors |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
132 #id are extrapolated on time only |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
133 Vtemp=Vtemp[order(Vtemp$TimeNum),] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
134 cuts <- c(-Inf, Vtemp$TimeNum[-1]-diff(Vtemp$TimeNum)/2, Inf) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
135 CorrV=findInterval(IdSp$TimeNum, cuts) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
136 IdE=Vtemp$IdV[CorrV] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
137 IdExtrap=c(IdExtrap,IdE) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
138 TypeE=c(TypeE,rep(1,length(IdE))) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
139 IdC2=rbind(IdC2,IdSp) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
140 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
141 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
142 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
143 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
144 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
145 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
146 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
147 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
148 test1=(nrow(IdC2)==length(IdExtrap)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
149 test2=(nrow(IdC2)==nrow(IdCorrect)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
150 if((test1==F)|(test2==F)) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
151 { |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
152 (stop("Erreur de traitement !!!")) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
153 } |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
154 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
155 IdC2$IdExtrap=IdExtrap |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
156 IdC2$TypeE=TypeE |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
157 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
158 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
159 IdC2=IdC2[order(IdC2$IdProb,decreasing=T),] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
160 IdC2=IdC2[order(IdC2$ConfV,decreasing=T),] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
161 IdC2=IdC2[order(IdC2$`nom du fichier`),] |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
162 #discard duplicated species within the same files (= false positives corrected by 2nd layer) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
163 IdC2=unique(IdC2,by=c("nom du fichier","IdExtrap")) |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
164 |
8c472c4f1bf5
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tools/vigiechiro commit d2de8e10c11bfa3b04729e59bba58e08d23b56aa
ecology
parents:
diff
changeset
|
165 write.table(IdC2,"output.tabular",row.names=F,sep="\t",quote=FALSE,na="NA") |