Compare commits
8 Commits
0fb5604d2d
...
ben-1erAvr
| Author | SHA1 | Date | |
|---|---|---|---|
| 4efb0d71ba | |||
| 8708b00b49 | |||
| 2e3da3d249 | |||
| 375fb3f3ed | |||
| 9026c901ba | |||
| cf3d5b4929 | |||
| 19bf68c2aa | |||
| 6e4b3337fb |
@@ -4,6 +4,7 @@
|
|||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
Sample_code;Station;Latitude;Longitude;Depth;d13C_raw;d13C_corr;d15N;C_N;StandardLength;TrophicLevel;Anisakis_abdominalcavity;Anisakis_Liver;Anisakis_gonads;Anisakis_stomach;NParasitesViscera;Anisakis_Muscle_Right;Anisakis_Muscle_Left;Aniskis_Muscle_total;NParasitesTotal
|
Sample_code;Station;Latitude;Longitude;Depth;d13C_raw;d13C_corr;d15N;C_N;StandardLength;TrophicLevel;Anisakis_abdominalcavity;Anisakis_Liver;Anisakis_gonads;Anisakis_stomach;NParasitesViscera;Anisakis_Muscle_Right;Anisakis_Muscle_Left;Aniskis_Muscle_total;NParasitesTotal
|
||||||
TRACTRA_S0575_A0439;S0575;48.8692264;-4.3976635;96.84;-20.09735065;-19.14374028;12.52361179;4.316778148;257;3.117572211;7;1;0;1;9;1;3;4;13
|
TRACTRA_S0575_A0439;S0575;48.8692264;-4.3976635;96.84;-20.09735065;-19.14374028;12.52361179;4.316778148;257;3.117572211;7;1;0;1;9;1;3;4;13
|
||||||
TRACTRA_S0575_A0440;S0575;48.8692264;-4.3976635;96.84;-20.02738845;-19.42703789;12.25444555;3.959950061;252;3.038405671;263;5;0;21;289;12;11;23;312
|
TRACTRA_S0575_A0440;S0575;48.8692264;-4.3976635;96.84;-20.02738845;-19.42703789;12.25444555;3.959950061;252;3.038405671;263;5;0;21;289;12;11;23;312
|
||||||
TRACTRA_S0575_A0441;S0575;48.8692264;-4.3976635;96.84;-19.82735569;-18.83090708;12.97020596;4.360049101;254;3.248923438;51;1;12;1;65;2;3;5;70
|
TRACTRA_S0575_A0441;S0575;48.8692264;-4.3976635;96.84;-19.82735569;-18.83090708;12.97020596;4.360049101;254;3.248923438;51;1;12;1;65;2;3;5;70
|
||||||
|
TRACTRA_S0575_A0442;S0575;48.8692264;-4.3976635;96.84;-19.37802102;-18.26777864;13.43393806;4.4749923;242;3.385315231;158;6;0;1;165;9;19;28;193
|
||||||
|
TRACTRA_S0575_A0443;S0575;48.8692264;-4.3976635;96.84;-18.20541518;-18.20541518;12.68793425;3.369189318;254;3.165902347;67;1;10;1;79;1;6;7;86
|
||||||
|
TRACTRA_S0575_A0444;S0575;48.8692264;-4.3976635;96.84;-20.21559661;-18.91007641;12.62442312;4.672242625;251;3.147222601;140;1;0;0;141;3;6;9;150
|
||||||
|
TRACTRA_S0575_A0888;S0575;48.8692264;-4.3976635;96.84;-20.21559661;-18.91007641;12.62442312;4.672242625;259;3.147222601;;;;;;;;;
|
||||||
|
TRACTRA_S0575_A0445;S0575;48.8692264;-4.3976635;96.84;-19.43517323;-19.13886211;11.25439721;3.65283952;258;2.744273805;281;5;0;3;289;1;8;9;298
|
||||||
|
35
src/ecoparasite/completion/Completion.java
Normal file
35
src/ecoparasite/completion/Completion.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package ecoparasite.completion;
|
||||||
|
|
||||||
|
import ecoparasite.poisson.Poisson;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
public class Completion {
|
||||||
|
|
||||||
|
public static HashSet<Poisson> completePoisson(HashSet<Poisson> tablePoisson){
|
||||||
|
|
||||||
|
double mean = mean(tablePoisson);
|
||||||
|
|
||||||
|
for (Poisson p : tablePoisson) {
|
||||||
|
|
||||||
|
if ( p.getInfestation().isNaN() ) {
|
||||||
|
p.setInfestation(mean);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return tablePoisson;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double mean(HashSet<Poisson> tablePoisson){
|
||||||
|
|
||||||
|
double mean = 0.0;
|
||||||
|
|
||||||
|
for (Poisson p : tablePoisson){
|
||||||
|
mean += p.getInfestation();
|
||||||
|
}
|
||||||
|
|
||||||
|
return mean / tablePoisson.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,11 +2,13 @@ package ecoparasite.input;
|
|||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.lang.reflect.Array;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -93,7 +95,7 @@ public class InputFactory {
|
|||||||
// Lecture des autres lignes.
|
// Lecture des autres lignes.
|
||||||
try {
|
try {
|
||||||
while ((line = reader.readLine()) != null) {
|
while ((line = reader.readLine()) != null) {
|
||||||
rowFields = line.split(separator);
|
rowFields = line.split(separator, -1);
|
||||||
for (int i = 0; i < rowFields.length; i++) {
|
for (int i = 0; i < rowFields.length; i++) {
|
||||||
ArrayList<String> element = data.get(i);
|
ArrayList<String> element = data.get(i);
|
||||||
element.add(rowFields[i]);
|
element.add(rowFields[i]);
|
||||||
|
|||||||
63
src/ecoparasite/nettoyage/Nettoyage.java
Normal file
63
src/ecoparasite/nettoyage/Nettoyage.java
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
package ecoparasite.nettoyage;
|
||||||
|
|
||||||
|
import ecoparasite.poisson.Poisson;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
public class Nettoyage {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param tablePoisson
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static HashSet<Poisson> nettoiePoisson(HashSet<Poisson> tablePoisson){
|
||||||
|
|
||||||
|
double mean = mean(tablePoisson); //Moyenne
|
||||||
|
double ecart = ecartType(tablePoisson); // Ecart Type
|
||||||
|
|
||||||
|
double z = 0;
|
||||||
|
|
||||||
|
for (Poisson p : tablePoisson) {
|
||||||
|
z = ( p.getInfestation() - mean ) / ecart;
|
||||||
|
|
||||||
|
if ( z >= 3 ) {
|
||||||
|
p.setInfestation(mean);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return tablePoisson;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double mean(HashSet<Poisson> tablePoisson){
|
||||||
|
|
||||||
|
double mean = 0.0;
|
||||||
|
|
||||||
|
for (Poisson p : tablePoisson){
|
||||||
|
mean += p.getInfestation();
|
||||||
|
}
|
||||||
|
|
||||||
|
return mean / tablePoisson.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double variance(HashSet<Poisson> tablePoisson){
|
||||||
|
|
||||||
|
double vari = 0.0;
|
||||||
|
double mean = mean(tablePoisson);
|
||||||
|
|
||||||
|
for (Poisson p : tablePoisson) {
|
||||||
|
vari += Math.pow( (p.getInfestation() - mean), 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return vari / tablePoisson.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double ecartType(HashSet<Poisson> tablePoisson){
|
||||||
|
|
||||||
|
double vari = variance(tablePoisson);
|
||||||
|
|
||||||
|
return Math.sqrt(vari);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -69,6 +69,15 @@ public class Poisson{
|
|||||||
return fishParts;
|
return fishParts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter de l'attribut infestation
|
||||||
|
* @param infestation le Double de la nouvelle valeur de l'infestation
|
||||||
|
*/
|
||||||
|
public void setInfestation(Double infestation) {
|
||||||
|
this.infestation = infestation;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setter de l'attribut des parties de poisson.
|
* Setter de l'attribut des parties de poisson.
|
||||||
* @param fishParts Un hashset de parties de poisson.
|
* @param fishParts Un hashset de parties de poisson.
|
||||||
|
|||||||
28
tests/ecoparasite/completion/CompletionTest.java
Normal file
28
tests/ecoparasite/completion/CompletionTest.java
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
package ecoparasite.completion;
|
||||||
|
|
||||||
|
import ecoparasite.input.InputFactory;
|
||||||
|
import ecoparasite.input.InputFileException;
|
||||||
|
import ecoparasite.input.RawData;
|
||||||
|
import ecoparasite.input.RawDataOverflow;
|
||||||
|
import ecoparasite.poisson.Mackerel;
|
||||||
|
import ecoparasite.poisson.Poisson;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class CompletionTest {
|
||||||
|
|
||||||
|
@org.junit.jupiter.api.Test
|
||||||
|
void completePoisson() throws InputFileException, RawDataOverflow {
|
||||||
|
|
||||||
|
RawData test = InputFactory.readData("test.csv");
|
||||||
|
|
||||||
|
HashSet<Poisson> testp = Mackerel.parse(test);
|
||||||
|
|
||||||
|
testp = Completion.completePoisson(testp);
|
||||||
|
|
||||||
|
System.out.println(testp);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user