Codici e formule dei valori mancanti<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Quando imposto un codice del valore mancante in una colonna di dati continua e quindi scrivo una formula in un'altra colonna che fa riferimento alla prima colonna, la formula include il codice del valore mancante (-9999) nel calcolo. Per un semplice esempio, ho una colonna di temperature in Kelvin che sto convertendo nella seconda colonna in Celsius. Ovunque sia presente un codice valore mancante nella colonna Kelvin, il valore calcolato nella nuova colonna Celsius è -10.272,15. Vorrei che la seconda colonna mostrasse anche il codice del valore mancante. Vorrei semplicemente eliminare tutti i -9999, ma vogliamo essere in grado di distinguere tra i dati mancanti perché non li abbiamo raccolti e i dati mancanti a causa di malfunzionamenti dello strumento. Che cosa sto facendo di sbagliato?
Ri: Codici e formule dei valori mancantiIL INCONTRO la funzione fa il trucco.Dalla guida allo scripting:
Incontro
Puoi usare il Incontro() funzione per effettuare diversi confronti di uguaglianza senza necessità riscrivere il valore da confrontare. La sintassi è:
Incontro ( X , valore1 , risultato1 , valore2 , risultato2 , ... , risultatoAltro )
Ad esempio, lo script seguente ricodifica le abbreviazioni di genere in Grande Classe.jmp :
Per ogni riga (
sesso = Incontro ( sesso , "F" , "Femmina" , "M" , "Maschio" , "Sconosciuto" )
) ;
Ri: Codici e formule dei valori mancantiQuesto potrebbe bastare.
( incontro ( : Temp_Kelvin , - 9999 , 0 , : Temp_Kelvin ) +
incontro ( : Temp2_Kelvin , - 9999 , 0 , : Temp2_Kelvin ) +
incontro ( : Temp3_Kelvin , - 9999 , 0 , : Temp3_Kelvin ) )
/
( incontro ( : Temp_Kelvin , - 9999 , 0 , 1 ) +
incontro ( : Temp2_Kelvin , - 9999 , 0 , 1 ) +
incontro ( : Temp3_Kelvin , - 9999 , 0 , 1 ) )
Ri: Codici e formule dei valori mancantiGrazie PMRoz, ma mi chiedo se posso prendere la media delle due colonne che non hanno -9999 (se manca una colonna), o semplicemente usare il valore di una colonna che contiene dati (se entrambe le altre mancano i valori). Per esempio:
Temp. suolo 1, Temp. suolo 2, Temp. suolo 3
287.1, 289.3, 288.6
-9999, 286,6, 287,9
-9999, 287,5, -9999
-9999, -9999, -9999
Voglio prendere la media di tutti e tre i valori nella prima riga, colonne 2 e 3 nella seconda riga, utilizzare il valore di col 2 nella terza riga e restituire -9999 per la quarta. È possibile con le istruzioni condizionali?
Ri: Codici e formule dei valori mancantiNon è necessario JMP 12. Ecco un esempio di istruzione IF che ha una media di tre colonne se nessuna di esse è -9999:
Se ( : Temp_Kelvin != - 9999 &
: Temp2_Kelvin != - 9999 &
: Temp3_Kelvin != - 9999 ,
( : Temp_Kelvin + : Temp2_Kelvin + : Temp3_Kelvin ) / 3 ;
) ;
Ri: Codici e formule dei valori mancantiGrazie per la tua risposta, Jeff. Sto utilizzando JMP 11, ma immagino che il mio esempio fosse troppo semplice per chiarire il vero problema. Non sono sicuro di come scrivere una o più istruzioni condizionali che tratteranno -9999 quando ho 3 colonne di cui sto cercando di calcolare la media. Ad esempio, ho 3 colonne di dati sulla temperatura del suolo e talvolta una, due o tre colonne avranno -9999. Questa programmazione va oltre il mio livello di comprensione. Forse dovrei semplicemente procurarmi JMP 12... Qualsiasi intuizione sarebbe apprezzata!
Ri: Codici e formule dei valori mancantiQuale versione di JMP stai utilizzando?
Abbiamo modificato questo comportamento con JMP 12. Le funzioni nell'editor delle formule ora rispettano la proprietà Codice valore mancante. Le versioni precedenti (come hai scoperto) non lo facevano.
Se desideri tenerne conto nella conversione in JMP 11 e versioni precedenti, dovrai inserire un condizionale nella formula.

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