Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLBonjour,
Je suis un peu nouveau sur JSL. Je trace un graphique de données numériques et catégorielles à l'aide de la fonction de création de graphique dans JMP et j'ajoute une ellipse pour voir également une corrélation. J'utilise les scripts pour mes futurs tracés mais je souhaite les personnaliser un peu en stockant les valeurs de corrélation (indiquées par une flèche rouge sur la figure) quelque part dans une variable afin de pouvoir les utiliser dans certaines opérations logiques.Par exemple, si je souhaite tracer uniquement des graphiques dont la corrélation est supérieure à 0,45. Tout script JSL, aide ou piste serait apprécié. Ensuite, j'en ai essayé mais sans succès pour l'instant.
Merci!
gb = dt << Graph Builder(
Variables( X( :"A_column"n ), Y( :"B_column"n ) ),
Elements(
Points( X, Y, Legend( 3 ) ),
Ellipse( X, Y, Legend( 4 ), Correlation( 1 ), Mean Point( 1 ) )
),
SendToReport(
Dispatch( {"Ellipse"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Pairwise Correlations"}, "", TableBox, {Sort By Column( 7, 1 )} )
)
);
thing_report = gb << report;
Show Properties( thing_report );
corr = biv << Get Correlation Matrix;
Show( corr );

Stockez la corrélation indiquée par la flèche rouge.
Automatisation et scriptsPersonnalisation de masseles fenêtresRe : Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLLa définition de la fonction Contains() est

Votre implémentation de la fonction comporte 4 éléments, là où la fonction Contains() ne gère que 3 éléments.Vous devrez adopter une approche différente.
Re : Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLOn dirait que vous aimeriez utiliser Regex() au lieu de Contains().
Re : Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLJe ne sais pas pourquoi j'ai commencé à recevoir cette erreur
trop d'arguments lors de l'accès ou de l'évaluation de 'Contient'

Voici mon code..
ts = Report( gb1 )[Frame Box( 1 )] << Find Seg( "TextSeg" );
corr = ts << get text;
corr_num = Num( Contains( corr, "\D", "", GLOBALREPLACE ) );
Re : Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLSalut Jthi,
Merci beaucoup! Ça a marché!!!
Sur la base de ma compréhension limitée, j'ai pensé que c'était l'un des moyens de voir la corrélation entre les données numériques et catégorielles (qui incluent des nombres et des caractères). Je me trompe peut-être et j'aimerais explorer toutes les suggestions si vous en avez.
Merci encore!!!
Re : Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLJe ne sais pas si vous devriez vérifier une corrélation comme celle-ci entre les colonnes continues et nominales, mais... vous pouvez exporter la corrélation du générateur de graphiques avec quelque chose comme ceci (je ne sais pas avec quelle facilité cela se brisera) :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(535, 457),
Show Control Panel(0),
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Ellipse(X, Y, Legend(5), Correlation(1)))
);
ts = Report(gb)[Frame Box(1)] << Find Seg("TextSeg");
corr = ts << get text;
Comment j'y suis arrivé :
1. Création d'un générateur de graphiques et ouverture du menu Personnaliser. J'ai remarqué que je pouvais changer la couleur des éléments de texte, alors je l'ai fait

2. J'ai obtenu le script de mon générateur de graphiques avec du texte rouge et j'ai découvert que le changement de couleur affecte TextSeg()
Graph Builder(
Size(617, 457),
Show Control Panel(0),
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Ellipse(X, Y, Legend(5), Correlation(1))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg(TextSeg(1), {Fill Color("Medium Dark Red")})}
)
)
)
3. Vérification de l'index de script pour Text Seg et trouvé un moyen d'obtenir la valeur

Re : Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLBonjour HadelyMyers,
Merci beaucoup pour la solution. Dans mes données, une colonne est numérique et l'autre est catégorique (principalement des caractères). Je ne sais pas comment utiliser le multivarié avec ce type de données. C'est la raison pour laquelle j'utilise le générateur de graphiques et le tracé d'ellipses de densité pour voir la corrélation là-bas. Malheureusement, la solution que vous proposez n'a pas fonctionné sur mes données. En espérant votre réponse.
Merci encore!
Re : Extraire ou renvoyer des valeurs de corrélation à l'aide d'une ellipse de densité à partir d'un générateur de graphiques en JSLSalut,
Je ne sais pas s'il existe un moyen d'extraire ce nombre d'un rapport Graph Builder, mais il est assez simple de le faire en utilisant Multivarié (voir le script ci-dessous).Est-ce que ça marche pour toi?
Names Default To Here(1);
dt=open("$SAMPLE_DATA/Tablet Production.jmp");
mul=dt<<MULTIVARIATE></MULTIVARIATE>