# Class Completion

java.lang.Object
ecoparasite.completion.Completion

public class Completion extends Object
Permet de faire de la complétion de données. Si une valeur est manquante, elle sera remplacé par la moyenne ou par regression linéaire.

## Constructor Summary

Constructors
Constructor
Description
`Completion()`

## Method Summary

Modifier and Type
Method
Description
`static <T, V extends Number>
double`
`calculateLinearA(HashSet<T> list, Function<T,V> getX, Function<T,V> getY, double meanX, double meanY)`
Permet de calculer le coefficient A de notre regression linéaire.
`static double`
`calculateLinearB(double meanX, double meanY, double valueA)`
Permet de calculer b dans une regression linéaire
`static <T, V extends Number>
double`
`calculateMean(HashSet<T> list, Function<T,V> getValue)`
Permet de calculer la moyenne d'une donnée des valeurs non nulles.
`static <T, V extends Number>
HashSet<T>`
`completeColumnsLinear(HashSet<T> list, Function<T,V> getX, Function<T,V> getY, BiConsumer<T,V> setY)`
Permet de remplacer les valeurs inexistantes par les valeurs les plus probables avec une regression linéaire
`static <T, V extends Number>
HashSet<T>`
`completeColumnsMoyenne(HashSet<T> list, Function<T,V> getValue, BiConsumer<T,V> setValue)`
Permet de remplacer les valeurs inexistantes d'un paramètre d'un HashSet par la moyenne des autres valeurs (non nulles).

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Completion

public Completion()

## Method Details

### completeColumnsMoyenne

public static <T, V extends Number> HashSet<T> completeColumnsMoyenne(HashSet<T> list, Function<T,V> getValue, BiConsumer<T,V> setValue)
Permet de remplacer les valeurs inexistantes d'un paramètre d'un HashSet par la moyenne des autres valeurs (non nulles). Exemple d'utilisation : T = Poisson, V = Double, getValue = Poisson::getInfestation, setValue = Poisson::setInfestation.

Type Parameters:
  `T` - Le type de données cobaye. Exemple : Poisson, Population
  `V` - Le type de la donnée à vérifier, doit être un Wrapper Number. Exemple : Double.
Parameters:
  `list` - La liste de données cobaye.
  `getValue` - La fonction (Getter) qui permet d'obtenir la valeur que l'on veut vérifier
  `setValue` - La fonction (Setter) qui permet de remplacer la valeur si null.
Returns:
  Le HashSet avec les valeurs remplacés.

### calculateMean

public static <T, V extends Number> double calculateMean(HashSet<T> list, Function<T,V> getValue)
Permet de calculer la moyenne d'une donnée des valeurs non nulles.

Type Parameters:
  `T` - Le type de données cobaye/ Exemple : Poisson
  `V` - Le type de la donnée à vérifier, doit être un wrapper Number. Exemple : Double.
Parameters:
  `list` - La liste de données cobaye.
  `getValue` - La fonction qui permet d'obtenir la valeur de notre champ.
Returns:
  La moyenne calculé.

### completeColumnsLinear

public static <T, V extends Number> HashSet<T> completeColumnsLinear(HashSet<T> list, Function<T,V> getX, Function<T,V> getY, BiConsumer<T,V> setY)
Permet de remplacer les valeurs inexistantes par les valeurs les plus probables avec une regression linéaire

Type Parameters:
  `T` - Le type des données de la liste
  `V` - Le type des données numériques
Parameters:
  `list` - La liste des données
  `getX` - Le getter de la valeur en x
  `getY` - Le getter de la valeur en y
  `setY` - Le Setter de la valeur en y qui est à compléter
Returns:
  Une liste des valeurs compléters

### calculateLinearA

public static <T, V extends Number> double calculateLinearA(HashSet<T> list, Function<T,V> getX, Function<T,V> getY, double meanX, double meanY)
Permet de calculer le coefficient A de notre regression linéaire.

Type Parameters:
  `T` -
  `V` -
Parameters:
  `list` -
  `getX` -
  `getY` -
  `meanX` -
  `meanY` -
Returns:

### calculateLinearB

public static double calculateLinearB(double meanX, double meanY, double valueA)
Permet de calculer b dans une regression linéaire

Parameters:
  `meanX` -
  `meanY` -
  `valueA` -
Returns:
  La valeur de b dans la formule de regression linéaire