Explorer les valeurs manquantes pour plusieurs colonnesSalut,
J'aime écrire un script pour explorer les valeurs manquantes et, lorsque je l'exécute, génère plusieurs tables pour chaque colonne. Étant donné que j'utilise l'imputation normale à plusieurs variables, toutes les colonnes doivent être sélectionnées simultanément. Pouvez-vous m'aider à atteindre cet objectif? Voici le script que j'ai jusqu'à présent.
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 )} )
)
);
Merci
obj << Imputation normale multivariée ;
)
Re: Explorer les valeurs manquantes pour plusieurs colonnesMerci Jim pour la solution rapide. Ça fonctionne maintenant.
Re: Explorer les valeurs manquantes pour plusieurs colonneschangez la définition de la boucle For de "<" à "<="
Re: Explorer les valeurs manquantes pour plusieurs colonnesSalut Jim,
Merci pour le script mis à jour. Cela fonctionne et aucune erreur dans le journal. La seule chose que j'ai remarquée, c'est que la dernière colonne du tableau n'est pas incluse dans les valeurs manquantes. J'ai testé sur deux tables de données différentes et les deux montrent le même problème. Y a-t-il une raison à cela?
J'apprécie votre aide supplémentaire. Merci
Re: Explorer les valeurs manquantes pour plusieurs colonnesOups, j'ai enlevé la mauvaise paire de ")". Essaye ça:
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 )} ))) ;"
)
);Re: Explorer les valeurs manquantes pour plusieurs colonnesSalut Jim,
Merci pour le script mis à jour. Il semble que je reçois toujours la même erreur.
Inattendu ")". Peut-être qu'il manque un ";" ou ",".
Ligne 2 colonne 4369: ... ABC)) ►), ...
Le texte restant qui a été ignoré était
), Rapport de valeur manquante, SendToReport (Dispatch ({} "," Colonnes manquantes, OutlineBox, {
SetHorizontal (1)})));
Explorez les valeurs manquantes []
Merci pour votre aide supplémentaire.
Re: Explorer les valeurs manquantes pour plusieurs colonnesIl y avait 2 ")" qui ont été laissés par inadvertance dans le code .... voici une version corrigée
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 )} ) ;"
)
);Re: Explorer les valeurs manquantes pour plusieurs colonnesSalut Jim,
Je viens de remarquer dans le fichier journal une erreur:
Inattendu ")". Peut-être qu'il manque un ";" ou ",".
Ligne 2 colonne 789: ...: P2A1,: P2B1,: PM_L1,: P1)) ►), ...
Le texte restant qui a été ignoré était
), Rapport de valeur manquante, SendToReport (Dispatch ({} "," Colonnes manquantes, OutlineBox, {
SetHorizontal (1)})));
Explorez les valeurs manquantes []
Savez-vous à quoi est-ce lié? J'ai remarqué que cela ne ferait pas la dernière colonne imputation de valeur manquante.
Merci de votre aide.
Re: Explorer les valeurs manquantes pour plusieurs colonnesSalut Jim,
Merci beaucoup pour vos commentaires rapides et votre résolution. J'ai essayé vos suggestions et cela fonctionne parfaitement. J'ai ajouté
obj << Multivariate Normal Imputation;
faire l'imputation. Merci encore.
Re: Explorer les valeurs manquantes pour plusieurs colonnesVoici un exemple de solution à ce problème
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 )} ) ));"
)
);