Esplora i valori mancanti per molte colonneCiao,
Mi piace scrivere uno script per esplorare i valori mancanti e quando lo eseguo genererà molte tabelle per ogni colonna. Dal momento che sto usando l'imputazione normale multivariata, tutte le colonne devono essere selezionate simultaneamente. Puoi aiutarmi a farlo? Ecco la sceneggiatura che ho finora.
lstNames = dt << Get Column Names(String,Numeric);
ncols = N items(lstNames);
for (i=1, i <= N items(cols), i++,
obj = Explore Missing Values(
Y(
Column(lstNames[i])
),
Missing Value Report,
SendToReport(
Dispatch( {}, "Missing Columns", OutlineBox, {SetHorizontal( 1 )} )
)
);
Grazie
obj << Imputazione normale multivariata ;
);
Ri: Esplora i valori mancanti per molte colonneGrazie Jim per la soluzione rapida. Ora funziona.
Ri: Esplora i valori mancanti per molte colonnecambia la definizione del ciclo For da "<" a "<="
Ri: Esplora i valori mancanti per molte colonneCiao Jim,
Grazie per lo script aggiornato. Funziona e nessun errore nel registro. L'unica cosa che ho notato è che l'ultima colonna della tabella non è inclusa nei valori mancanti. Ho provato su due diverse tabelle di dati ed entrambe mostrano lo stesso problema. C'è qualche ragione per quello?
Apprezzo il tuo ulteriore aiuto. Grazie
Ri: Esplora i valori mancanti per molte colonneOops, ho rimosso la coppia sbagliata di ")" s. Prova questo:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
lstNames = dt << Get Column Names( string, Numeric );
// Create a string variable of the structure the platform
// wants them passed to it
names = ":" || lstNames[1];
For( i = 2, i < N Items( lstNames ), i++,
names = names || ",:" || lstNames[i]
);
// Execute the following string, with the column names embedded in it
Eval(
Parse(
"obj = Explore Missing Values(
Y( " || names ||
"),
Missing Value Report,
SendToReport( Dispatch( {}, \!"Missing Columns\!", OutlineBox, {SetHorizontal( 1 )} ))) ;"
)
);Ri: Esplora i valori mancanti per molte colonneCiao Jim,
Grazie per lo script aggiornato. Sembra che sto ancora ricevendo lo stesso errore.
Inaspettato ")". Forse manca ";" o ",".
Riga 2 Colonna 4369: ... ABC)) ►), ...
Il testo rimanente che è stato ignorato era
), Rapporto valore mancante, SendToReport (Invio ({} "," Colonne mancanti, OutlineBox, {
SetHorizontal (1)})));
Esplora i valori mancanti []
Grazie per il tuo ulteriore aiuto.
Ri: Esplora i valori mancanti per molte colonneC'erano 2 ")" che sono stati inavvertitamente lasciati nel codice .... ecco una versione corretta
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
lstNames = dt << Get Column Names( string, Numeric );
// Create a string variable of the structure the platform
// wants them passed to it
names = ":" || lstNames[1];
For( i = 2, i < N Items( lstNames ), i++,
names = names || ",:" || lstNames[i]
);
// Execute the following string, with the column names embedded in it
Eval(
Parse(
"obj = Explore Missing Values(
Y( " || names ||
")) ),
Missing Value Report,
SendToReport( Dispatch( {}, \!"Missing Columns\!", OutlineBox, {SetHorizontal( 1 )} ) ;"
)
);Ri: Esplora i valori mancanti per molte colonneCiao Jim,
Ho appena notato nel file di registro c'è un errore:
Inaspettato ")". Forse manca ";" o ",".
Riga 2 Colonna 789: ...: P2A1,: P2B1,: PM_L1,: P1)) ►), ...
Il testo rimanente che è stato ignorato era
), Rapporto valore mancante, SendToReport (Invio ({} "," Colonne mancanti, OutlineBox, {
SetHorizontal (1)})));
Esplora i valori mancanti []
Sai a cosa è correlato? Ho notato che non farà l'ultima imputazione del valore mancante della colonna.
Grazie per l'aiuto.
Ri: Esplora i valori mancanti per molte colonneCiao Jim,
Grazie mille per feedback e risoluzione rapidi. Ho provato i tuoi suggerimenti e funziona perfettamente. Ho aggiunto
obj << Multivariate Normal Imputation;
fare l'imputazione Grazie ancora.
Ri: Esplora i valori mancanti per molte colonneEcco un esempio di un modo per risolvere questo problema
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
lstNames = dt << Get Column Names( string, Numeric );
// Create a string variable of the structure the platform
// wants them passed to it
names = ":" || lstNames[1];
For( i = 2, i < N Items( lstNames ), i++,
names = names || ",:" || lstNames[i]
);
// Execute the following string, with the column names embedded in it
Eval(
Parse(
"obj = Explore Missing Values(
Y( " || names ||
")) ),
Missing Value Report,
SendToReport( Dispatch( {}, \!"Missing Columns\!", OutlineBox, {SetHorizontal( 1 )} ) ));"
)
);