<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
Je reçois souvent des données au format SPSS. Lorsque j'importe les données dans JMP, je conserve les noms SPSS. JMP crée une nouvelle propriété de colonne appelée "Nom SPSS" et utilise également ces noms comme noms de colonne. Mon objectif est de modifier les noms de colonne en fonction de "Nom SPSS", d'ajouter une nouvelle colonne avec le nouveau nom de colonne mais avec un caractère ajouté dans le nom, puis de créer une formule pour cette nouvelle colonne. Par exemple, supposons que j'utilise la table Big Class. J'ai ajouté une nouvelle propriété à chaque colonne et je l'ai appelé "Nom SPSS". J'ai ensuite défini chaque nom SPSS sur "Q1", "Q2", ..., "Q5", ce qui correspond aux noms des fichiers SPSS d'origine. J'ai créé le script suivant qui recherche le nom SPSS "Q4" (qui correspond à la colonne height de Big Class), modifie le nom de la colonne en "Nouvelle hauteur" et ajoute une nouvelle colonne appelée "Nouvelle hauteur - B". Cette partie fonctionne bien. Ce que je ne peux pas me mettre au travail, c'est la formule. La nouvelle colonne doit avoir une formule avec une valeur basée sur la colonne de hauteur qui a été renommée; c'est-à-dire, basé sur "Nouvelle hauteur". Lorsque je regarde la nouvelle colonne, tout ce que je vois, ce sont des codes de valeur manquants. La propriété de formule a la formule correcte sauf que "x" est utilisé plutôt que "Nouvelle hauteur" comme je le pensais. Comment puis-je obtenir cette dernière partie au travail? Aucune suggestion?
dt = table de données actuelle ();
pour (i = 1, i <= N Col (dt), i ++,
col = colonne (i);
match (col << Get Property ("SPSS NAME"),
"Q4",
x = "nouvelle hauteur";
col << Nom du groupe (x);
Nouvelle colonne (x || "- B", Numérique, Continu,
Largeur (5), formule (If (colonne (x)> 60, 1, 0))
)
)
)
dt << Exécuter les formules;
Merci,
Walt Paczkowski
La commande de substitution peut être délicate et prend un certain temps à comprendre.
J'ai créé la propriété SPSS de «Q4» sous la colonne de hauteur, comme vous l'avez fait.
dt = table de données actuelle ();
Pour (i = 1, i <= NCol (dt), i ++,
col = colonne (i);
Match (col << Get Property ("SPSS NAME"),
"Q4",
newcoln = col << obtenir le nom || "- B";
newcol = dt << NewColumn (newcoln);
// substitue les valeurs au lieu des références
Eval (Substitute (
Expr (newcol << Set Formula (If (_xvar> 60, 1, 0))),
Expr (_xvar), Parse (col << Obtenir le nom))
)
)
)