Besoin d'aide pour écrire un code optimal pour extraire R^2 et Slope de Bivariate FitTous,
J'aimerais demander à la communauté de me pousser dans la bonne direction.
Je dois extraire R ^ 2 et Slope du rapport et l'afficher sur le tracé lui-même comme ceci :

Je vais le faire en analysant les arbres d'affichage, puis en examinant l'ajout d'un script graphique à l'intrigue elle-même.
Mais, comme cette tâche me semble très standard et routinière, je dois poser quelques questions avant de me plonger dans les arbres d'affichage :
1. Existe-t-il une manière plus simple de procéder ? Comme le tableau de données combiné (qui donne la pente mais ne donne pas R^2) pour obtenir un nombre ou comme Line Of Fit( X, Y, Legend( 5 ), R²( 1 ), Equation( 1 ) ) dans le générateur de graphiques (le client souhaite pour utiliser l'ajustement bivarié)
2. Peut-être que quelqu'un a déjà un extrait de code prêt à être utilisé pour cette tâche ?
Personnalisation de masseRe : Besoin d'aide pour écrire un code optimal pour extraire R^2 et la pente de l'ajustement bivariéNames Default To Here(1);
dt=Open("$SAMPLE_DATA/Tablet Production.jmp");
biv=dt<<BIVARIATE></BIVARIATE>Re : Besoin d'aide pour écrire un code optimal pour extraire R^2 et la pente de l'ajustement bivariéVoici un exemple qui devrait vous aider à démarrer.

Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = Bivariate( Y( :height ), X( :weight ), Fit Line( {Line Color( {212, 73, 88} )} ) );
Report( biv )[framebox( 1 )] << add graphics script(
Text Color( {212, 73, 88} );
xMin = Current Report()[axisbox( 2 )] << get min;
yMin = Current Report()[axisbox( 1 )] << get min;
xMax = Current Report()[axisbox( 2 )] << get max;
yMax = Current Report()[axisbox( 1 )] << get max;
textList = {};
Insert Into( textList, xMin + (xMax - xMin) * .25 );
Insert Into( textList, yMax - (yMax - yMin) * .1 );
R2 = Current Report()["Summary of Fit"][Number Col Box( 1 )][1];
R2 = "R^2 = " || Format( R2, "Fixed Dec", 5, 3 );
Text( Right Justified, textList, R2 );
textList = {};
Insert Into( textList, xMin + (xMax - xMin) * .32 );
Insert Into( textList, yMax - (yMax - yMin) * .15 );
Slope = Current Report()["Parameter Estimates"][Number Col Box( 1 )][2];
Slope = "Slope = " || format(Slope,"Fixed Dec",9,5);
Text(Right Justified, textList, Slope);
);
report(biv)["Linear Fit"] << visibility("collapse");
report(biv)[PictureBox(2)] << visibility("collapse");
La documentation pour les ajouts graphiques et la manipulation de l'arborescence d'affichage peut être trouvée dans le Guide de script et l'Index de script
Re : Besoin d'aide pour écrire un code optimal pour extraire R^2 et la pente de l'ajustement bivariéJ'ai aussi besoin d'un graphique, et il doit s'agir d'un ajustement bivarié. Auparavant, le client prenait une capture d'écran de l'intrigue et de la partie du rapport ci-dessous pour inclure Slope et R ^ 2 (essentiellement l'image dans ma question initiale sans marques rouges). J'automatise le tout et je veux me débarrasser du rapport et écrire simplement ces deux valeurs sur le tracé lui-même (comme illustré sur ma capture d'écran avec du texte rouge sur le tracé).
Re : Besoin d'aide pour écrire un code optimal pour extraire R^2 et la pente de l'ajustement bivariéOui, je l'ai déjà écrit (comme je l'ai mentionné dans la question initiale, c'est facile en ajoutant Ligne d'ajustement( X, Y, Légende( 5 ), R²( 1 ), Équation( 1 ) ) dans le Graph Builder Code), cependant, le client n'aime pas Graph Builder pour une raison quelconque et insiste pour utiliser Bivariate Fit.
Re : Besoin d'aide pour écrire un code optimal pour extraire R^2 et la pente de l'ajustement bivariéSi vous avez juste besoin des valeurs, et non du graphique, vous pouvez utiliser la fonction Linear Regression() et obtenir les valeurs à partir de là
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/*Simple Linear Regression: y = intercept + beta * x + error*/
y = :height << get values;
X = :weight << get values;
{Estimates, Std_Error, Diagnostics} = Linear Regression( y, X, <<PRINTTOLOG></PRINTTOLOG>
rsquare = 0.502917160762804;
slope = 0.135507698709946;
Re : Besoin d'aide pour écrire un code optimal pour extraire R^2 et la pente de l'ajustement bivariéVous pouvez vous rapprocher vraiment avec Graph Builder
Equation includes the slope.Equation includes the slope.Equation includes the slope.L'équation inclut la pente.
Re : Besoin d'aide pour écrire un code optimal pour extraire R^2 et la pente de l'ajustement bivariéIl existe au moins trois façons différentes d'obtenir ces valeurs :
- Obtenez-les à partir du rapport bivarié avec la méthode de votre choix
- Obtenez-les en utilisant Make Into Data Table/Make Combined Data Table et obtenez-les à partir des tables de données créées
- Utiliser la fonction de matrice
Dans ce cas, j'utiliserais l'option 1 ou 2 car vous devrez de toute façon créer la bivariée