Es necesario extraer la pendiente y la intersección de la tabla de estimaciones de parámetros en un modelo lineal de mínimos cuadrados y guardarlo en un archivo.Mi código no funciona y no sé por qué. Agradecería cualquier ayuda. ¡Gracias!
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");
Automatización y scriptingRe: necesidad de extraer la pendiente y la intersección de la tabla de estimaciones de parámetros en un modelo lineal de mínimos cuadrados y guardarlo en un archivoHola @aprendizaje_JSL ,
He modificado su script para aprovechar la función 'convertir en tabla de datos' para traer los detalles, pero también he agregado dónde estaban sus desafíos con el script al cambiar la tabla de parámetros para apuntar a la sección de estimaciones específicas de la tabla - si desea encontrar cómo hacer esto, es mejor hacer clic derecho>propiedades y resaltar la sección de estimaciones para encontrar la ruta al objeto.
He utilizado la carpeta de datos de muestra aquí sólo para probar que funciona.
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: necesidad de extraer la pendiente y la intersección de la tabla de estimaciones de parámetros en un modelo lineal de mínimos cuadrados y guardarlo en un archivoGracias Ben.
Me aparece este error:

Re: necesidad de extraer la pendiente y la intersección de la tabla de estimaciones de parámetros en un modelo lineal de mínimos cuadrados y guardarlo en un archivo
El mismo código me funciona
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>¿Podría ser que estés usando una versión anterior de JMP?<BR /> Quizás intente usar una plataforma diferente</P>
<BR />
<P>Ajustar y por 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 este
Curva de ajuste
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: necesidad de extraer la pendiente y la intersección de la tabla de estimaciones de parámetros en un modelo lineal de mínimos cuadrados y guardarlo en un archivoUn pequeño cambio que consideraría al buscar la referencia es eliminar el nombre de la columna de la primera referencia del cuadro de esquema ("Disolución" en este caso), ya que la hace más robusta. Podría ignorar ese cuadro de esquema o usar el comodín "?" en lugar de la columna.
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)];
Normalmente también agrego esos cuadros de contorno allí, pero es una preferencia.
rep[OutlineBox("Response ?"), OutlineBox("Whole Model"), OutlineBox("Parameter Estimates"), TableBox(1)];Re: necesidad de extraer la pendiente y la intersección de la tabla de estimaciones de parámetros en un modelo lineal de mínimos cuadrados y guardarlo en un archivo¡Muchas gracias!
Re: necesidad de extraer la pendiente y la intersección de la tabla de estimaciones de parámetros en un modelo lineal de mínimos cuadrados y guardarlo en un archivo¡Gracias Jarmo! ¡Te lo agradezco mucho!