è necessario estrarre la pendenza e l'intercetta dalla tabella delle stime dei parametri in un modello lineare dei minimi quadrati e salvarle in un fileIl mio codice non funziona e ho difficoltà a identificare il motivo. Ogni aiuto sarebbe molto apprezzato - grazie!
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");
Automazione e scriptingRe: necessità di estrarre pendenza e intercetta dalla tabella delle stime dei parametri in un modello lineare dei minimi quadrati e salvarlo in un fileCiao @learning_JSL ,
Ho modificato il tuo script per sfruttare la funzione "trasforma in tabella dati" per trasferire i dettagli, ma ho anche aggiunto dove si trovavano le tue sfide con lo script modificando la tabella dei parametri per indirizzare la sezione delle stime specifiche della tabella. Se vuoi scoprire come fare, è meglio fare clic con il pulsante destro del mouse > Proprietà ed evidenziare la sezione delle stime per trovare il percorso verso l'oggetto.
Ho utilizzato la cartella dati di esempio qui solo per testare che funzioni.
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: necessità di estrarre pendenza e intercetta dalla tabella delle stime dei parametri in un modello lineare dei minimi quadrati e salvarlo in un fileGrazie Ben.
Ricevo questo errore:

Re: necessità di estrarre pendenza e intercetta dalla tabella delle stime dei parametri in un modello lineare dei minimi quadrati e salvarlo in un file
Lo stesso codice funziona per me
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>È possibile che tu stia utilizzando una versione precedente di JMP?<BR /> forse prova a usare una piattaforma diversa</P>
<BR />
<P>Adatta y per 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;
o questo
Curva di adattamento
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: necessità di estrarre pendenza e intercetta dalla tabella delle stime dei parametri in un modello lineare dei minimi quadrati e salvarlo in un fileUn piccolo cambiamento che prenderei in considerazione quando cerco il riferimento è quello di eliminare il nome della colonna dal primo riferimento alla casella di riepilogo ("Dissolution" in questo caso) in quanto lo rende più robusto. Potresti ignorare quella casella di riepilogo o utilizzare il carattere jolly "?" al posto della colonna
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)];
Di solito aggiungo anche quelle outlinebox lì, ma è una preferenza
rep[OutlineBox("Response ?"), OutlineBox("Whole Model"), OutlineBox("Parameter Estimates"), TableBox(1)];Re: necessità di estrarre pendenza e intercetta dalla tabella delle stime dei parametri in un modello lineare dei minimi quadrati e salvarlo in un fileGrazie mille!
Re: necessità di estrarre pendenza e intercetta dalla tabella delle stime dei parametri in un modello lineare dei minimi quadrati e salvarlo in un fileGrazie Jarmo!! Molto apprezzato!