Utilisation de "Make Into Matrix" dans JSLSalut les gens,
Je voudrais extraire une table d'un rapport (Multivarié -> Multivarié) dans une matrice dans le cadre de mon script. Actuellement je travaille avec ceci :
collist = {:"X1", :"X2", :"X3", :"X4", :"X5"};
cor = Eval(Eval Expr(Multivariate(
Y( Expr(collist)),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 )
)));
r = (col <<REPORT> </REPORT>
Malheureusement, il n'y a pas de documentation (?) sur le message "Make into matrix" et je n'arrive pas à comprendre comment stocker la matrice résultante dans une variable sans que la boîte de dialogue n'apparaisse.
Pour le moment je vais travailler avec "Make into Table". Mais ce serait bien de savoir comment utiliser "Make into matrix".
Acclamations,
Sébastien
Re : Utiliser "Make Into Matrix" dans JSLMerci, vos commentaires m'ont indiqué la bonne voie.Cela ne semble toujours pas aussi élégant que la méthode en un clic pour stocker la matrice en tant que variable globale, mais mon script fonctionne et c'est ce qui compte !
Re : Utiliser "Make Into Matrix" dans JSLVous pouvez voir tous les messages disponibles pour une Number Col Box() en allant sur
Aide==>Index de script==>Boîte de numéro de colonne
vous verrez qu'un
obj << obtenir
Retire le vecteur de données d'un Number Col Box().Ou vous voudrez peut-être regarder d'un niveau supérieur l'objet Table Box(), dont Number Col Box() est un élément, et voir quels messages lui sont disponibles.
Re : Utiliser "Make Into Matrix" dans JSLJ'ai essayé d'appliquer cette technique à la plate-forme Bivariate Fit pour récupérer les estimations de paramètres.Cependant, les valeurs ne sont pas dans MatrixBox(1), mais plutôt, ils sont dans NombreColBox ( 13 ) et j'obtiens une erreur en essayant de les récupérer.Je peux stocker manuellement l'ensemble complet en tant que variable globale et récupérer les valeurs de la matrice résultante, mais je n'ai trouvé aucun moyen de le faire via jsl.
Re : Utiliser "Make Into Matrix" dans JSLC'est bien qu'il y ait des solutions de contournement.
Mais, comme le souligne Sebastian, 'Make Into Matrix' n'apparaît pas dans l'index de script comme un message que l'on peut envoyer à une 'MatrixBox()' (et l'info-bulle de l'éditeur donne 'un message inconnu pour l'objet'). Pourtant, il apparaît comme un choix de contexte dans l'interface utilisateur, et on peut envoyer le message via JSL (les deux donnant le dialogue modal qu'il mentionne).
En utilisant la méthode de Mark (ou de JIm), on pourrait répliquer la fonctionnalité de la boîte de dialogue dans les scripts, mais c'est toujours un peu étrange.
Re : Utiliser "Make Into Matrix" dans JSLMerci beaucoup, Marc. C'était exactement ce que je cherchais.
Re : Utiliser "Make Into Matrix" dans JSLdt = Open( "$SAMPLE_DATA/Fitness.jmp" );
multi var = dt << Multivariate(
Y( :Age, :Weight, :Oxy, :Runtime, :RunPulse, :RstPulse, :MaxPulse ),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix(
Density Ellipses( 1 ),
Shaded Ellipses( 0 ),
Ellipse Color( 3 )
)
);
multi var rep = multi var << Report;
corr = multi var rep["Correlations"][MatrixBox(1)] << Get;
Re : Utiliser "Make Into Matrix" dans JSLCe code contournera la boîte de dialogue. Il utilise les standards et les composants JSL documentés
names default to here(1);
dt=open("$SAMPLE_DATA\semiconductor capability.jmp");
collist = {:"NPN1", :"PNP1", :"NPN2", :"PNP2", :"NPN3"};
cor = Eval(Eval Expr(Multivariate(//invisible,
Y( Expr(collist)),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 )
)));
r = ((cor <<REPORT></REPORT>