variable Y dinámica para análisis unidireccionalHola a todos,
Estoy tratando de escribir una variable Y dinámica para un análisis unidireccional, luego mostrar la media en una tabla combinada. ¿Es esta una forma correcta de hacerlo?
dt = Data Table ("Analysis");
ColNamesList = d1 << get column names (string );
For( i = N Items( ColNamesList ), i >= 1, i--,
OW = (dt << Oneway( Y( Column(ColNamesList) ),
X(:SITE),
Mean ( 1 ),
Automatic Recalc( 0 )
)) << Report;
);
dtCombined = Report( OW[1] )[Table Box( 1 )] << Make Combined Data Table;Gracias por adelantado !
AnalíticaTabla de datossecuencias de comandosRe: variable Y dinámica para análisis unidireccionalEjecútelo: ¿funciona para su mesa?
Si es así, ¡esta es una forma correcta de hacerlo!
Si no, háganos saber dónde tiene problemas.
Re: variable Y dinámica para análisis unidireccionalLo siento, accidentalmente hice clic en el botón de solución.
El script no provocó ningún error. Pero, tampoco se vio ningún gráfico como salida.
El registro de secuencias de comandos solo muestra secuencias de comandos.
Re: variable Y dinámica para análisis unidireccionalQuerido @XiangCD_MP_Usuario , Tuve varios problemas con su script. Si obtuve su tarea, es hacer un análisis unidireccional para cada columna continua de la tabla de datos por: sitio y guardar la tabla de datos con la media.
Si es así, lo haría de la siguiente manera:
Alternativamente, hay otras posibilidades, por ejemplo, poner todo junto en una declaración de "Grupo de ajuste". La mejor manera depende de sus habilidades de secuencias de comandos y del entorno exacto en el que debe ejecutarse.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// dt = Data Table ("Analysis");
OW_lst = {};
ColNamesList = dt << get column names( string, "Continuous" );
// When using single report windows, you would need to collect the result table from each of them
/*
For( i = N Items( ColNamesList ), i >= 1, i--,
Insert Into( OW_lst, dt << Oneway( Y( Column( ColNamesList[i] ) ), X( :sex ), Means( 1 ), Automatic Recalc( 0 ) ) )
);
*/
// Generate new report window to collect all analyses
nw = New Window( "Oneway Collection",
hlb = H List Box(
For( i = N Items( ColNamesList ), i >= 1, i--,
// collect references to each analysis in OW_lst
Insert Into( OW_lst, dt << Oneway( Y( Column( ColNamesList[i] ) ), X( :sex ), Means( 1 ), Automatic Recalc( 0 ) ) )
)
)
);
// Message will collect all similar tables in one data table
dtCombined = Report( OW_lst[1] )[Table Box( 1 )] << Make Combined Data Table;
// Alternatively you would be able to get the same result w/o working with a list like follows
//(nw << XPATH( "//TableBox" ))[2] << Make Combined Data Table;Re: variable Y dinámica para análisis unidireccional@XiangCD_MP_Usuario ,
Puede intentar usar la Evaluación de respuesta en el menú Analizar> Evaluación. Todavía puede pasar la lista de nombres de columna al marcador de posición de la variable Y. La salida de Response Screening permitirá una opción en el triángulo rojo para guardar las medias para cada nivel de X o una tabla de valores P que tiene la media para cada Y.
Además, si encuentra todas las columnas que coinciden con una cadena y las coloca en una lista (que se parece a lo que está haciendo), puede usar el nombre de la variable (usando Eval()) dentro de la variable Y de la Evaluación de respuestas. O puede agruparlos en un grupo de columnas y hacer referencia al grupo de columnas dentro de la Evaluación de respuestas. Efectivamente, hará el bucle como quieras y es dinámico.
Algo como:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Response Screening(
X( :Process ),
Y( Column Group( "Responses" ) ),
PValues Table on Launch( 1 ),
Save Means
);
Esto genera los valores p, así como la media de Y para cada comparación.