<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
J'essaie de comprendre comment ajuster Y par X, où Y parcourt toutes mes colonnes Numériques-Continues se terminant par "_CODED" qui ont été produites précédemment dans le script. Une fois que chaque colonne a été utilisée en tant que Y pour le premier X, j'aimerais que la prochaine colonne "_CODED" soit utilisée en tant que nouveau X et que les colonnes Y soient réexécutées jusqu'à ce que tous les graphiques possibles aient été générés. de préférence dans une seule fenêtre au lieu de fenêtres séparées.
Je ne parviens pas à utiliser une variable pour les colonnes CODED dans la partie bivariée du script. C'est ce que je pense devoir faire, mais tout ce que j'ai déjà essayé a produit des erreurs. Quelqu'un pourrait-il regarder à travers ce que j'ai et essayer de m'aider avec cela?
dt = table de données ("data.jmp");
cols = dt << obtenir les noms de colonne (Caractère); // Liste toutes les colonnes de caractères
Pour (i = 1, i <= N éléments (cols), i ++,
one_col = cols << obtenir le nom;
coded_col = one_col || "_CODED";
col_expr = evalinsert (
"\ [dt << Nouvelle colonne (" ^ coded_col ^ ", numérique," continu ",
Format ("Meilleur", 12), Formule (
if (: name ("^ one_col ^") == "PASS", 1,
: name ("^ one_col ^") == "FAIL", 2,
: nom ("^ one_col ^") == "", 3,
: name ("^ one_col ^") == "NOTTESTED", 4,
: nom ("^ one_col ^") == "IGNORE", 5,
: name ("^ one_col ^") == "PASS | PASS", 6,
: name ("^ one_col ^") == "IGNORE | IGNORE", 7,
: name ("^ one_col ^") == "NOTTESTED | NOTTESTED", 8;
)
)
);] \ ");
eval (parse (col_expr))
)
// C'était tout pour produire de nouvelles colonnes Numerical-Continuous sur les colonnes que j'ai. En continuant le script, j'essaie de créer des graphiques Y par X de ces nouvelles colonnes. En fait, je ne sais pas trop quoi faire ici ..
Bivarié (
Y (( coded_col ),
X ((coded_col ),
Ajuster la ligne ({Couleur de la ligne ({213, 72, 87})})
)
)
;
)
Pas sûr que j'ai bien compris votre intention, mais pour votre information, vous pouvez faire ce genre de chose:
NamesDefaultToHere ( 1 ) ;
// échantillon de données
dt = NewTable ( "Les données" ,
NewColumn ( "Pas X" , Numérique , Continu , Formule ( RandomInteger ( 0 , 3 ))) ,
NewColumn ( "Pas Y" , Numérique , Continu , Formule ( RandomInteger ( 0 , 3 ))) ,
AddRows ( 20 ) ;
) ;
Pour ( c = 1 , c <= 5 , c ++,
dt << NewColumn ( "VAR" || Carboniser ( c ) || "_CODED" , Numérique , Continu , Formule ( AléatoireNormal ())) ;
) ;
// Récupère toutes les colonnes de la table dt. . .
cols = dt << getColumnNames ( "Chaîne" ) ;
// Ne conserve que les colonnes souhaitées
Pour ( c = NItems ( cols ) , c > = 1 , c -
Si ( ! Se termine par ( cols [ c ] , "_CODED" ) , Retirer ( cols , c )) ;
) ;
// Lancer la plateforme (fait 5 x 5 = 25 parcelles)
biv = dt << FitYByX ( X ( Eval ( cols )) , Y ( Eval ( cols ))) ;