<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao, spero di ottenere un aiuto con lo scripting JSL quando mancano dati in una tabella di dati.
Stiamo usando JSL per eseguire una query su un database che estrae i dati in una tabella di dati che assomiglia a:
Piatto | Composto | M1 | M2 | M3 | M4 |
A121 | CMP001 | 85,203 | 30,022 | 36,797 | 0,0629 |
A122 | Cmp002 | 84,031 | 34,902 | 31,596 | 0,063 |
A123 | cmp003 | 89,028 | 30,677 | 34,903 | 0,063 |
A124 | cmp004 | 91,2455 | 35,277 | 35,327 | 0,0631 |
A125 | cmp005 | 91,257 | 36,927 | 38,836 | 0,063 |
dove M's sono tutte diverse misurazioni. Abbiamo uno script JSL che rende diversi grafici dai dati e fa anche un modello di adattamento
Fit Model (
Y (: M1,: M2,: M3,: M4),
Effetti (: Plate,: Compound,: Plate *: Compound),
Personalità (minimi quadrati standard),
Enfasi (effetto leva),
Correre(
: M1 << {Lack of Fit (0), Plot Actual by Predicted (1),
Plot Regression (0), Plot Residual by Predicted (1),
Plot Effect Leverage (1), Mostra VIF (1), {: Deformazione <<
{LSMeans Tukey HSD (0.05, Report incrociata (0))}}},
: M2 << {Lack of Fit (0), Plot Actual by Predicted (1),
Plot Regression (0), Plot Residual by Predicted (1),
Plot Effect Leverage (1), Mostra VIF (1), {: Deformazione <<
{LSMeans Tukey HSD (0.05, Report incrociata (0))}}},
: M3 << {Mancanza di adattamento (0), Plot Actual by Predicted (1),
Plot Regression (0), Plot Residual by Predicted (1),
Plot Effect Leverage (1), Mostra VIF (1), {: Deformazione <<
{LSMeans Tukey HSD (0.05, Report incrociata (0))}}},
: M4 << {Lack of Fit (0), Plot Actual by Predicted (1),
Plot Regression (0), Plot Residual by Predicted (1),
Plot Effect Leverage (1), Mostra VIF (1), {: Deformazione <<
{LSMeans Tukey HSD (0.05, Report incrociata (0))}}},
)
)
Dove siamo nei guai è che occasionalmente abbiamo un sistema di misurazione fallito e l'intera colonna M3 o M4 sarà piena di valori mancanti (count = 0). In questo caso, Fit Model arresta in modo anomalo il JSLscript.
Qual è il modo migliore di scrivere un modello di adattamento su una tabella di dati dove occasionalmente una colonna non avrà dati? C'è un modo semplice per vedere quali colonne contengono dati e poi passarle come lista alla piattaforma Fit Model? Non ho davvero voglia di scrivere una tonnellata di istruzioni IF per verificare quali colonne sono piene e vuote e quindi eseguire uno script di modello di adattamento diverso su di esso poiché abbiamo effettivamente più di 10 misurazioni diverse e ognuna di esse può mancare su qualsiasi giorno.
Grazie per l'aiuto.
Almeno in JMP 9, Fit Model () accetta un argomento lista. Eval () deve essere usato se la lista è una variabile.
Ecco un esempio su come costruire un elenco con colonne non vuote (non controlla se è completo ma è facile da aggiungere):
Ys = { : M1 , : M2 , : M3 , : M4 } ;
Per ( io = N articoli ( Ys ) , io > 0 , io -,
Ricapitolare ( n = Contare ( Ys [ io ] ) ) ;
Se ( n == 0 ,
Rimuovere da ( Ys , io )
) ;
) ;
Fit Model (
Y ( Eval ( Ys ) ) ,
effetti ( ...