Secuencias de comandos JSL: ¿puedo automatizar el comando SendToByGroup?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />La mayoría de las plataformas JMP tienen una opción "Por" que realiza el análisis por separado para cada nivel de una variable. Estoy particularmente interesado en las plataformas Distribution y Fit Model (GLM).
El índice de secuencias de comandos (accesible a través del menú de ayuda) ofrece este ejemplo:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Distribution(
By( :Sex ),
SendToByGroup(
{:sex == "F"},
Continuous Distribution(
Column( :weight ),
Normal Quantile Plot( 1 )
)
),
SendToByGroup(
{:sex == "M"},
Continuous Distribution(
Column( :weight )
)
)
);
En el ejemplo anterior, y en los scripts que puedo generar a través de la plataforma Fit Model, los niveles de la variable se especifican explícitamente.
¿Puede un script automatizar la ejecución para cualquiera de los niveles en el conjunto de datos? P.ej Me gustaría no especificar los niveles manualmente, porque necesito repetir el mismo análisis en diferentes conjuntos de datos, cada uno de los cuales tiene diferentes niveles. Piense en un análisis por ciudad, con un conjunto de datos con NY y LA, otro con Londres y París, etc.
¡Gracias!
Re: secuencias de comandos JSL: ¿puedo automatizar el comando SendToByGroup?¡Gracias! Estaba confundido porque si ejecuto el análisis manualmente, luego copie el script, el script resultante especifica los niveles explícitamente, mientras que en realidad esto no es necesario.
Re: secuencias de comandos JSL: ¿puedo automatizar el comando SendToByGroup?NombresDefaultToHere ( 1 ) ;
// Haz una tabla con una variable 'Por' con un número aleatorio de niveles (entre 2 y 5)
nr = 100 ;
Carolina del Norte = 3 ;
dt = Tabla nueva ( "Algunos datos" ) ;
por ( do = 1 , do <= Carolina del Norte , do ++,
dt << Nueva Columna ( "Col" || Carbonizarse ( do ) , Numérico , Continuo , Fórmula ( RandomNormal ())) ;
) ;
dt << AddRows ( nr ) ;
cols = dt << GetColumnNames ( "Cuerda" ) ;
dt << Nueva Columna ( "Por" , Numérico , Continuo , Fórmula ( RandomInteger ( 1 , RandomInteger ( 2 , 5 )))) ;
// Distribuir
dt << Distribución ( Columnas ( Evaluar ( cols )) , Por ( : Por )) ;