il faut extraire la pente et l'interception du tableau des estimations de paramètres dans un modèle linéaire des moindres carrés et les enregistrer dans un fichierMon code ne fonctionne pas et j'ai du mal à comprendre pourquoi. Toute aide serait la bienvenue ! Merci !
dt = Open("C:\Users\trcampbell\Desktop\MASTER ECOLI\2025\2024.xlsx");
obj = Fit model(
Y( :LOGECOLI ),
Effects( :LOGTURB),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(:LOGECOLI )) ;
// Extract slope and intercept
reportObj = obj << Report;
paramTable = reportObj( "Parameter Estimates" );
// Extract values from Parameter Estimates table
intercept = paramTable[estimate(1)]; //1st column
slope = paramTable[estimate(2)]; //2nd column
// Create a new data table to store the results
results = New Table( "Fit Results",
Add Column( "Parameter", Character, Set Values( {"Slope", "Intercept"} ) ),
Add Column( "Value", Numeric, Set Values( {slope, intercept} ) )
);
// Save the results to an Excel spreadsheet
results << Export( "C:\\Users\\trcampbell\\Desktop\\MASTER ECOLI\\2025\\validation results\\test xxx.xlsx");
Automatisation et scriptsRe : besoin d'extraire la pente et l'interception du tableau des estimations de paramètres dans un modèle linéaire des moindres carrés et de les enregistrer dans un fichierBonjour @learning_JSL ,
J'ai modifié votre script pour profiter de la fonction « créer dans la table de données » pour apporter les détails, mais j'ai également ajouté où se trouvaient vos défis avec le script en modifiant la table de paramètres pour cibler la section d'estimations spécifique de la table - si vous voulez savoir comment faire cela, il est préférable de faire un clic droit> propriétés et de mettre en surbrillance la section estimations pour trouver le chemin d'accès à l'objet.
J'ai utilisé le dossier de données d'exemple ici juste pour tester que cela fonctionne.
dt=Open("$SAMPLE_DATA/Tablet Production.jmp");
obj = Fit model(
Y( :Dissolution ),
Effects( :Mill Time),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(:Dissolution )) ;
// Extract slope and intercept
reportObj = obj << Report;
paramTable = ReportObj["Response Dissolution","Whole Model","Parameter Estimates",TableBox(1)]; //Change the report to target the table that needs saving
/*In the old method you had, you could instead make param table this to target the specific estimate column, just change the Y name:
paramTable = reportObj["Response Dissolution","Whole Model","Parameter Estimates",NumberColBox("Estimate")];*/
// Extract values from Parameter Estimates table
/*intercept = paramTable[1]; //1st column - grab the first item [corrected from what you had]
slope = paramTable[2]; //2nd column - grab the second item*/
dtnew=paramTable<<MAKE into="" data="https://community.jmp.com/" table=""></MAKE>Re : besoin d'extraire la pente et l'interception du tableau des estimations de paramètres dans un modèle linéaire des moindres carrés et de les enregistrer dans un fichierMerci Ben.
J'obtiens cette erreur :

Re : besoin d'extraire la pente et l'interception du tableau des estimations de paramètres dans un modèle linéaire des moindres carrés et de les enregistrer dans un fichier
Le même code fonctionne pour moi
dt=Open("$SAMPLE_DATA/Tablet Production.jmp");
obj = Fit model(Y( :Dissolution ),Effects( :Mill Time),Personality( "Standard Least Squares" ),Emphasis( "Effect Leverage" ),Run(:Dissolution )) ;
rpt=obj<<REPORT></REPORT>
<P>Il se peut que vous utilisiez une ancienne version de JMP ?<BR /> peut-être essayer d'utiliser une autre plateforme</P>
<BR />
<P>Ajuster y par X</P>
<CODE class=" language-jsl">Names Default To Here( 1 );
rpt = New Window( "Tablet Production - Fit Y by X of Dissolution by Mill Time",
Data Table( "Tablet Production.jmp" ) <<
Bivariate(Y( :Dissolution ),X( :Mill Time ),
Fit Line( {Line Color( {230, 159, 0} )} )
)
);
rpt["Bivariate Fit of Dissolution By Mill Time", "Linear Fit", "Parameter Estimates",
Table Box( 1 )] << Make Into Data Table;
ou celui-ci
Courbe d'ajustement
Names Default To Here( 1 );
rpt = New Window( "Tablet Production - Fit Curve of Dissolution by Mill Time",
Data Table( "Tablet Production.jmp" ) <<
Fit Curve( Y( :Dissolution ), X( :Mill Time ), Fit Linear ));
rpt["Fit Curve", "Linear", "Parameter Estimates", Table Box( 1 )] <<
Make Into Data Table;
Re : besoin d'extraire la pente et l'interception du tableau des estimations de paramètres dans un modèle linéaire des moindres carrés et de les enregistrer dans un fichierUne petite modification que j'envisagerais lors de la recherche de la référence serait de supprimer le nom de la colonne de la première référence à la zone de contour (« Dissolution » dans ce cas), afin de la rendre plus fiable. Vous pouvez soit ignorer cette zone de contour, soit utiliser le caractère générique « ? » à la place de la colonne.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Drug.jmp");
fm = dt << Fit Model(
Y(:y),
Effects(:Drug, :x),
Personality(Standard Least Squares),
Run Model()
);
rep = Report(fm);
// tb_param_estimates1 = rep["Whole Model", "Parameter Estimates", TableBox(1)];
tb_param_estimates2 = rep["Response ?", "Whole Model", "Parameter Estimates", TableBox(1)];
Habituellement, j'ajoute également ces boîtes de contour à cet endroit, mais c'est une préférence
rep[OutlineBox("Response ?"), OutlineBox("Whole Model"), OutlineBox("Parameter Estimates"), TableBox(1)];Re : besoin d'extraire la pente et l'interception du tableau des estimations de paramètres dans un modèle linéaire des moindres carrés et de les enregistrer dans un fichierMerci beaucoup!
Re : besoin d'extraire la pente et l'interception du tableau des estimations de paramètres dans un modèle linéaire des moindres carrés et de les enregistrer dans un fichierMerci Jarmo ! C'est très apprécié !