Re: la función de cambio de columna en el script solo informa la primera variableNo estoy exactamente seguro de cuál es la pregunta. Mi ejemplo parece estar funcionando bien (o puede que me esté perdiendo algo)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Job Satisfaction.jmp");
obj = dt << Fit Model(
Y(:Satisfaction_Avg),
Effects(
:Support_L, :Goal_L, :Work_L, :Interact_L, :Person_C,
:Interact_L * :Person_C
),
Personality( "Proportional Hazard" ),
Emphasis("Effect Leverage"),
Run(
:Satisfaction_Avg << {Summary of Fit(1), Analysis of Variance(1),
Parameter Estimates(1), Scaled Estimates(0), Plot Actual by Predicted(1),
Plot Regression(0), Plot Residual by Predicted(1),
Plot Studentized Residuals(0), Plot Effect Leverage(1),
Plot Residual by Normal Quantiles(0), Box Cox Y Transformation(0)}
)
);
col_switcher = obj << Column Switcher(
:Person_C,
{:Person_C, :Intra_C, :Inter_C, General_S}
);


Re: la función de cambio de columna en el script solo informa la primera variableAnexo: Esperaba que la función Column Switcher generara nuevas tablas de resumen de efectos con cada variable.El script funciona bien con la primera variable y luego puede desplazarse manualmente por el selector de columnas para ver las otras variables.Quiero NO tener que desplazarme manualmente por la lista.es posible?
Re: la función de cambio de columna en el script solo informa la primera variableGracias jti por la rápida respuesta.Incorporé tu script al mío y tuve el mismo problema.La tabla de salida solo contiene resultados para Two_Deoxyuridine pero no para las otras variables en la lista de cambios.Ejecuté su script y funciona como se esperaba.
¿Alguna idea de dónde me estoy equivocando con este script?
Annabelle
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :Two_Deoxyuridine_INT,
:APOE_INT * :Two_Deoxyuridine_INT
),
Personality( "Proportional Hazard" ),
Emphasis( "Effect Leverage" ),
Censor( :dth ),
Censor Code( "0" ),
Run(
:dthtt << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ), Plot Effect Leverage( 1 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 )}
)
);
ColumnSwitcherObject = obj << Column Switcher(
:Two_Deoxyuridine_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT,
:Two_Hydroxybutyric acid_INT, :Two_Hydroxyglutaric acid_INT,
:Two_ketoisovaleric acid_INT, :Three_Hydroxybutyric acid_INT, :Five_MTHF_INT, Re: la función de cambio de columna en el script solo informa la primera variable¡Estoy progresando!Mi objetivo principal es obtener una tabla de datos de prueba de efecto Wald después de cada cambio de columna. Eventualmente concatenaré estas tablas.El siguiente código inicia automáticamente el conmutador de columnas (esto se puede ver en el registro) y produce la tabla de datos de la prueba Effect Wald, pero solo para la primera entrada en el conmutador de columnas.¿Alguna idea sobre cómo obtener la tabla de datos de la prueba Effect Wald de cada columna cuando cambia?
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :One_5_Anhydroglucitol_INT,
:APOE_INT * :One_5_Anhydroglucitol_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run(
:dthtt << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ), Plot Effect Leverage( 1 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 )}
)
);
ColumnSwitcher = obj << Column Switcher(
:One_5_Anhydroglucitol_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT, :Dummy variable_INT}
);
pre = Function( {currentColumn, nextColumn, switcher},
Print(
"Before switch: " || (currentColumn << get name) || " >> " || (nextColumn << get name) ||
" [Column Switcher] current: " || (columnSwitcher << Get Current)
);
If( nextColumn << get name == "Dummy variable_INT",
0,
1
);
);
post = Function( {previousColumn, currentColumn, switcher},
Print(
"After switch: " || (previousColumn << get name) || " >> " || (currentColumn << get name) ||
" [Column Switcher] current: " || (columnSwitcher << Get Current)
)
);
columnSwitcher << Make Column Switch Handler( pre, post );
ColumnSwitcher << Set Script(
obj = Data Table( "MESA 2018Events_Exam2Main_Proteomics_Metabolomics_MARCH 13 2023" ) <<
Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :One_5_anhydroglucitol_INT,
:APOE_INT * :One_5_anhydroglucitol_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run( Likelihood Ratio Tests( 0 ) ),
Column Switcher(
:One_5_anhydroglucitol_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT, :Dummy variable_INT}
)
);
Report( obj )["Effect Wald Tests", Table Box( 1 )] << Make Into Data Table;
obj << Close Window;
);
ColumnSwitcher << Run;
Wait( 5/*seconds, while it animates*/ );Re: la función de cambio de columna en el script solo informa la primera variableHola
Resolví mi problema y se adjunta el script.Un consejo fue colocar una columna de variable ficticia en la tabla principal y colocarla después de la variable final para el cambio de columna.Esto permitió que el interruptor de columna funcionara correctamente.Mi siguiente paso es concatenar todas las tablas de datos de Effect Wald Tests, y no creo que sea difícil.Espero que este script sea útil para otros en la comunidad.
Annabelle
Re: la función de cambio de columna en el script solo informa la primera variableHola,
He proporcionado la secuencia de comandos final para la función de cambio de columna para proporcionar tablas de datos concatenados.Recibí ayuda de JMP Support sobre cómo concatenar las tablas. Espero que esto sea útil para otros.
Annabelle
La función de cambio de columnas en el script solo informa la primera variableHola,
El siguiente script devuelve un informe de salida con la primera variable para cambiar (Two_deoxyuridine) pero no las demás en la lista de cambios.Busqué una solución en el índice de secuencias de comandos, los videos de YouTube, la comunidad JMP y los capítulos de lectura en Jump into JMP.¿La solución es insertar un bucle For?Estoy usando JMP17.
Agradezco cualquier ayuda,
annabelle
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :age2c, :gender1, :APOE_INT, :Two_Deoxyuridine_INT,
:APOE_INT * :Two_Deoxyuridine_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run( Likelihood Ratio Tests( 0 ) )
);
ColumnSwitcherObject = obj << Column Switcher(
:Two_Deoxyuridine_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT}
);Automatización y secuencias de comandosIngeniería de Calidad y Procesos