script > Liste > Supprimer les valeurs manquantesBonjour l'équipe JMP,
Je recherche une méthode pour supprimer les valeurs manquantes/vides d'une liste générée dans un script :
La liste initiale ressemble à : {.,.,.,2,3,4,7,.,.,.} et j'aimerais finir avec une nouvelle liste = {2,3,4,7}.
Des idées sur la façon d'y parvenir sans compter sur une boucle à travers les éléments de la liste?
Merci.
Meilleur,
TS
ScriptRe : script > Liste > Supprimer les valeurs manquantesAu cas où vous ne l'auriez pas déjà compris.cela fonctionne mais il ne renvoie qu'une copie.si vous voulez modifier x, vous devrez soit le réaffecter, soit utiliser removefrom()
Names default to here(1);
x = {.,.,.,2,3,4,7,.,.,.};
new_x = remove(x, as list(loc(x, .)));
show(x, new_x);
removefrom(x, as list(loc(x, .)));
show(x, new_x);Re : script > Liste > Supprimer les valeurs manquantesPouvez-vous fournir un extrait de code et le message d'erreur ?
Si votre liste contient des chaînes de caractères, loc ne fonctionnera pas - c'est uniquement pour les nombres.
Voici une solution pour une liste de chaînes avec des valeurs vides.
a = {"a", "", "b", "", "c", "d", "e"};
b = concat items(a, ";");
c = words(b, ";");
Défi : Quelqu'un a-t-il une solution alternative ?
Re : script > Liste > Supprimer les valeurs manquantesSalut Ryan,
Je ne sais pas pourquoi mais ton script le fait ne pas travaille pour moi... (J'ai JMP 16, au cas où cela pourrait aider à déboguer le problème)
Re : script > Liste > Supprimer les valeurs manquantesÉgalement,
Names Default to Here( 1 );
original = [.,.,.,2,3,4,7,.,.,.];
none missing = original[Loc( Not( Is Missing( original ) ) )];
Re : script > Liste > Supprimer les valeurs manquantesSalut Ian,
Sympa d'avoir ajouté "42" à la liste : restons à l'écart du Vogon 
Meilleur,
TSRe : script > Liste > Supprimer les valeurs manquantesAlternativement :
NamesDefaultToHere(1);
in = {.,.,.,2,3,4,7,.,42,.};
out = in[LocNonMissing(in)];
Print(out);Re : script > Liste > Supprimer les valeurs manquantesSalut @Thierry_S ,
Essaye ça,
x = {.,.,.,2,3,4,7,.,.,.};
remove(x, as list(loc(x, .)));