# 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