Codes de valeur et formules manquants<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Lorsque je définis un code de valeur manquante dans une colonne de données continues, puis que j'écris une formule dans une autre colonne faisant référence à la première colonne, la formule inclut le code de valeur manquante (-9999) dans le calcul. Pour un exemple simple, j'ai une colonne de températures en Kelvin que je convertis dans la deuxième colonne en Celsius. Partout où j'ai un code de valeur manquant dans la colonne Kelvin, la valeur calculée dans la nouvelle colonne Celsius est -10 272,15. Je voudrais que la deuxième colonne affiche également le code de valeur manquante. Je supprimerais simplement tous les -9999, mais nous voulons pouvoir faire la distinction entre les données manquantes parce que nous ne les avons pas collectées et les données manquantes en raison de dysfonctionnements de l'instrument. Qu'est-ce que je fais mal?
Re : Codes de valeurs et formules manquantsLe CORRESPONDRE la fonction fait l'affaire.Extrait du guide de script :
Correspondre
Vous pouvez utiliser le Correspondre() fonction pour faire plusieurs comparaisons d’égalité sans avoir besoin de réécrivez la valeur à comparer. La syntaxe est :
Correspondre ( X , valeur1 , résultat1 , valeur2 , résultat2 , ... , résultatElse )
Par exemple, le script suivant reccode les abréviations de genre en Grande Classe.jmp :
Pour chaque ligne (
sexe = Correspondre ( sexe , "F" , "Femelle" , "M" , "Mâle" , "Inconnu" )
) ;
Re : Codes de valeurs et formules manquantsCela pourrait le faire.
( correspondre ( : Temp_Kelvin , - 9999 , 0 , : Temp_Kelvin ) +
correspondre ( : Temp2_Kelvin , - 9999 , 0 , : Temp2_Kelvin ) +
correspondre ( : Temp3_Kelvin , - 9999 , 0 , : Temp3_Kelvin ) )
/
( correspondre ( : Temp_Kelvin , - 9999 , 0 , 1 ) +
correspondre ( : Temp2_Kelvin , - 9999 , 0 , 1 ) +
correspondre ( : Temp3_Kelvin , - 9999 , 0 , 1 ) )
Re : Codes de valeurs et formules manquantsMerci PMRoz, mais je me demande si je peux prendre la moyenne des deux colonnes qui n'ont pas -9999 (s'il manque une colonne), ou simplement utiliser la valeur de la colonne qui contient des données (si les deux autres il manque des valeurs). Par exemple:
Température du sol 1, Température du sol 2, Température du sol 3
287.1, 289.3, 288.6
-9999, 286,6, 287,9
-9999, 287,5, -9999
-9999, -9999, -9999
Je veux prendre la moyenne des trois valeurs de la première ligne, des colonnes 2 et 3 de la deuxième ligne, utiliser la valeur de la colonne 2 de la troisième ligne et renvoyer un -9999 pour la quatrième. Est-ce possible avec des instructions conditionnelles ?
Re : Codes de valeurs et formules manquantsPas besoin de JMP 12. Voici un exemple d'instruction IF qui fait la moyenne de trois colonnes si aucune d'elles n'est -9999 :
si ( : Temp_Kelvin != - 9999 &
: Temp2_Kelvin != - 9999 &
: Temp3_Kelvin != - 9999 ,
( : Temp_Kelvin + : Temp2_Kelvin + : Temp3_Kelvin ) / 3 ;
) ;
Re : Codes de valeurs et formules manquantsMerci pour votre réponse, Jeff. J'utilise JMP 11, mais je suppose que mon exemple était trop simple pour élucider le vrai problème. Je ne sais pas comment écrire une ou plusieurs instructions conditionnelles qui traiteront les -9999 lorsque j'ai 3 colonnes dont j'essaie de faire la moyenne. Par exemple, j'ai 3 colonnes de données sur la température du sol, et parfois une, deux ou trois colonnes auront -9999. Cette programmation dépasse mon niveau de compréhension. Peut-être que je devrais juste me procurer JMP 12... Toute idée serait appréciée!
Re : Codes de valeurs et formules manquantsQuelle version de JMP utilisez-vous ?
Nous avons modifié ce comportement avec JMP 12. Les fonctions de l'éditeur de formule respectent désormais la propriété Missing Value Code. Les versions antérieures (comme vous l'avez découvert) ne faisaient pas cela.
Si vous souhaitez en tenir compte dans votre conversion dans JMP 11 et versions antérieures, vous devrez mettre un conditionnel dans votre formule.

If(:Temp Kelvin == -9999, -9999, :Temp Kelvin - 272.15)
-Jeff