Bonjour,
J'ai à traiter des résultats d'analyses réalisés à différentes températures (et qui doivent donc être corrigés par un facteur multiplicatif donné par le constructeur de l'appareil de prise de mesure).
Etant donné le nombre de mesures, j'ai voulu créer une fonction sur R, qui prend en argument une température et à partir d'un tableau fourni contenant les facteurs de corrections aux différentes températures retourne le bon facteur multiplicatif.
Seulement mon programme retourne des résultats plus qu'étranges. Pour certaines températures il retourne le bon facteur, pour d'autres, il retourne le facteur de la colonne d'à côté et je ne comprend vraiment pas d'où cela vient.
Peut être que je n'importe pas le tableau de facteurs de correction de la bonne façon ?
D'autant plus que si je demande de retourner l'élément contenu dans le tableau pour la même ligne et même colonne que celle retournée par la fonction mais depuis la console ou bien dans le script mais en dehors de la fonction là j'obtiens le bon résultat.
Mon tableau de facteurs de corrections se présente de la façon suivante :
La première colonne contient la partie entière de la température (donc varie de 3 à 28 pour 3°C à 28°C) les colonnes suivantes contiennent les facteurs corrections en fonction de la partie décimale de la température (précision au dixième), donc la ligne 1 colonne 2 contient la facteur de correction pour la température de 3,0°C, la ligne 1 colonne 6 le facteur de température pour 3,5°C ...
(en jaune sont surlignées 2 valeurs avec lesquelles le problème se pose, en effet pour la température 17,4°C la fonction retourne le facteur correspondant à 17,3°C, par contre pour 17,3°C il retourne le bon facteur)
Même problème avec 17,2°C, il retourne le facteur correspondant à 17,1°C. Étrangement le problème ne se pose pas pour 17,8°C ni pour 8,2°C ou 8,4°C
Le script est le suivant :
Et ci-dessous les retours que j'obtiens :
Du coup si quelqu'un d'entre vous a déjà rencontré ce type de problème ou bien a une idée d'où il pourrait venir cela m'aiderait beaucoup.
Merci d'avance et bonne soirée![]()
Partager