Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLHola,
Estoy tratando de ajustar los datos en el grupo y obtener la pendiente y el número R cuadrado. Estoy usando el conjunto de datos de pesca como ejemplo aquí.
Apilé los datos para que el resumen se emita fácilmente como una sola columna, luego necesito distribuir las columnas nuevamente.
Así que lo hice
fishing_stacked = dt << Stack(
columns(
:Fish Caught,
:Live Bait,
:Fishing Poles,
:Camper,
:People,
:Children,
:Fished
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" )
);

Quiero agrupar los datos por Validación columna y ajuste (eje Y = tos de pescado ) y el eje X son " cebo vivo , Cañas de pescar , Camper ...." y obtenga el valor de la pendiente y el número R cuadrado como nuevas columnas.
Aquí está la publicación anterior, pero no sé cómo aplicarla a mi conjunto de datos.
https://community.jmp.com/t5/Discussions/Save-Parameter-Estimates-of-Linear-Regression-with-by-Variable/td-p/13123
Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLgracias Jim, eres de gran ayuda!Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLMe acercaría a esto de manera diferente.Al colocar toda la salida en una sola ventana, el
<< Hacer tabla de datos combinados
funcionará como se desee.Trabajar en ventanas separadas será un problema.
Elijo modificar la lista de x columnas que uno quiere usar, y luego aplicarla a una sola ejecución bivariada
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Fishing.jmp" );
colList = dt << get column names( string );
For( i = N Items( colList ), I >= 1, i--,
If( Contains( colList[i], "Validation" ) | Contains( colList[i], "People" ),
Remove From( colList, i, 1 )
)
);
biv = Bivariate(invisible,
Y( :Fish Caught ),
X( eval(colList) ),
Fit Line( {Line Color( "Medium Dark Red" )} ),
By( :Validation )
);
// Create the data table of RSqares
dtR2 = report(biv[1])["Summary of Fit"][tablebox(1)]<< make combined data table;
dtSlope = report(biv[1])["Parameter Estimates"][tablebox(1)]<< make combined data table (invisible);
dtR2 << select where(:Column 1 != "RSquare");
dtR2 << delete rows;
dtR2:Column 2 << set name("RSquare");
dtR2 << delete Columns({"Validation 2","Column 1"});
También hay una plataforma que quizás desee explorar, que produce directamente el informe que desea.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Fishing.jmp" );
colList = dt << get column names( string );
For( i = N Items( colList ), I >= 1, i--,
If( Contains( colList[i], "Validation" ) | Contains( colList[i], "People" ) |
Contains( colList[i], "Fish Caught" ),
Remove From( colList, i, 1 )
)
);
Response Screening(
Y( :Fish Caught ),
X( eval(colList) ),
Where( Format( :Validation ) == "Training" )
);
Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLSi quiero recorrer las columnas (tengo muchas columnas en datos reales) y no incluir las que contienen cierta cadena, ¿cómo recorrerlas?
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Fishing.jmp");
colList = dt << get column names( string );
For( i = 1, i <= N Items( colList ), i++,
If( ! Contains( colList[i], "Validation") & ! Contains( colList[i], "People") ,
biv = Bivariate(invisible,
Y( :Fish Caught ),
X( :i),
Fit Line( {Line Color( "Medium Dark Red" )} ),
By( :Validation )
);
// Create the data table of RSqares
dtR2 = report(biv[1])["Summary of Fit"][tablebox(1)]<< make combined data table;
dtSlope = report(biv[1])["Parameter Estimates"][tablebox(1)]<< make combined data table (invisible);
dtR2 << select where(:Column 1 != "RSquare");
dtR2 << delete rows;
dtR2:Column 2 << set name("RSquare");
dtR2 << delete Columns({"Validation 2","Column 1"});Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLRe: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSL¡Claro que sí! Puede utilizar la plataforma Bivariante o la plataforma Ajustar mínimos cuadrados para estimar la pendiente en el modelo de regresión lineal simple. También hay una función de regresión lineal () si necesita tales estimaciones en una fórmula o un script.
Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSL¿JMP no tiene un módulo de cálculo listo para usar para la pendiente?Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSL1. El análisis no se puede realizar directamente desde la tabla de datos apilados.Para realizar las bivariadas, el pez capturado debe estar en una columna separada y emparejado con cada uno de los factores X.Sin embargo, creo que lo que puede querer es solo el formato de salida,

y este script lo produce a partir de la tabla de datos original
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Fishing.jmp");
biv = Bivariate(invisible,
Y( :Fish Caught ),
X( :Live Bait,
:Fishing Poles,
:Camper,
:People,
:Children,
:Fished),
Fit Line( {Line Color( "Medium Dark Red" )} ),
By( :Validation )
);
// Create the data table of RSqares
dtR2 = report(biv[1])["Summary of Fit"][tablebox(1)]<< make combined data table;
dtSlope = report(biv[1])["Parameter Estimates"][tablebox(1)]<< make combined data table(invisible);
dtR2 << select where(:Column 1 != "RSquare");
dtR2 << delete rows;
dtR2:Column 2 << set name("RSquare");
dtR2 << delete Columns({"Validation 2","Column 1"});
// Create the data table of Slopes
dtSlope << select where(:Term == "Intercept");
dtSlope << delete rows;
dtSlope:Estimate << set name( "Slope");
dtSlope << delete columns({"Validation 2","Term","~Bias","Std Error","t Ratio","Prob>|t|"});
// Put the data together
dtR2 << Update(
With( dtSlope ),
Match Columns( :Validation = :Validation, :X = :X, :Y = :Y )
);
// Clean up the items not needed
close(dtSlope, nosave);
window("Fishing - Bivariate of Fish Caught") << close window;Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLgracias, pero ¿cómo puedo obtener la pendiente y el número R cuadrado extraído de las parcelas bivariadas? Además, ¿podemos hacer esto en una versión apilada de los datos de Fish como se muestra en la tabla?Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLNamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Fishing.jmp");
xList = {:Fishing Poles, :People, :Children};
biv = dt << Bivariate(Y(:Fish Caught), X(Eval(xList)), By(:Validation), FitLine(1));Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSL¿Podemos hacer esto como script JSL?Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLNo estoy seguro de que el apilamiento ayude, dado el análisis que pretende. Intentaría seleccionar Analizar > Ajustar Y por X. Seleccione Pescado capturado y haga clic en Y. Seleccione las otras columnas y haga clic en X. Seleccione Validación y haga clic en Por, luego haga clic en Aceptar. Mantenga presionada la tecla Control (Windows) o la tecla Comando (Macintosh), haga clic en el triángulo rojo junto a Bivariante y seleccione Ajustar línea.Haga clic con el botón derecho en la tabla en Resumen de ajuste y seleccione Convertir en tabla combinada. Haga clic con el botón derecho en la tabla en Estimaciones de parámetros y seleccione Convertir en tabla combinada.
Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLes tan dificil hacer esto?Re: Cómo agrupar y obtener pendientes en un script de modelo de ajuste JSLalguna solución a esto?