Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLHola,
Soy un poco nuevo en JSL. Estoy trazando un gráfico de datos numéricos frente a categóricos usando la función de creación de gráficos en JMP y agregando elipse para ver una correlación también. Estoy usando los scripts para mis gráficos futuros, pero quiero personalizarlos un poco almacenando los valores de correlación (señalados con una flecha roja en la figura) en algún lugar de una variable para poder usarlos en algunas operaciones lógicas.Por ejemplo, si solo quiero trazar gráficos que tengan una correlación superior a 0,45. Se agradecería cualquier script JSL, ayuda o pistas. A continuación, probé algunos, pero aún no tuve éxito.
¡Gracias!
gb = dt << Graph Builder(
Variables( X( :"A_column"n ), Y( :"B_column"n ) ),
Elements(
Points( X, Y, Legend( 3 ) ),
Ellipse( X, Y, Legend( 4 ), Correlation( 1 ), Mean Point( 1 ) )
),
SendToReport(
Dispatch( {"Ellipse"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Pairwise Correlations"}, "", TableBox, {Sort By Column( 7, 1 )} )
)
);
thing_report = gb << report;
Show Properties( thing_report );
corr = biv << Get Correlation Matrix;
Show( corr );

Guarde la correlación señalada con la flecha roja.
AnalíticaTabla de datosGráficossecuencias de comandosventanasRe: Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLNo estoy seguro de si debería verificar una correlación como esta entre las columnas Continua y Nominal, pero ... puede exportar la correlación desde el generador de gráficos con algo como esto (no estoy seguro de cuán fácilmente se romperá):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(535, 457),
Show Control Panel(0),
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Ellipse(X, Y, Legend(5), Correlation(1)))
);
ts = Report(gb)[Frame Box(1)] << Find Seg("TextSeg");
corr = ts << get text;
Cómo llegué allí:
1. Creó el generador de gráficos y abrió el menú Personalizar. Noté que podía cambiar el color de los elementos de texto, así que lo hice

2. Obtuve el script para mi generador de gráficos con texto rojo y descubrí que el cambio de color afecta a TextSeg()
Graph Builder(
Size(617, 457),
Show Control Panel(0),
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Ellipse(X, Y, Legend(5), Correlation(1))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg(TextSeg(1), {Fill Color("Medium Dark Red")})}
)
)
)
3. Se revisó el índice de secuencias de comandos para Text Seg y se encontró una forma de obtener el valor

Re: Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLHola Hadely Myers,
Muchas gracias por la solución. En mis datos, una columna es numérica y la otra es categórica (principalmente caracteres). No estoy seguro de cómo usar multivariado con este tipo de datos. Esa es la razón por la que estoy usando el generador de gráficos y el diagrama de elipse de densidad para ver la correlación allí. Desafortunadamente, la solución que proporcionaste no funcionó con mis datos. Esperando su respuesta.
¡Gracias de nuevo!
Re: Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLHola,
No estoy seguro de si hay una manera de extraer este número de un informe de Graph Builder, pero es bastante simple hacerlo usando Multivariante (vea el script a continuación).¿Esto funciona para tí?
Names Default To Here(1);
dt=open("$SAMPLE_DATA/Tablet Production.jmp");
mul=dt<<MULTIVARIATE></MULTIVARIATE>Re: Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLHola Jti,
¡Muchas gracias! ¡¡¡Funcionó!!!
Según mi comprensión limitada, pensé que esta es una de las formas de ver la correlación entre datos numéricos y categóricos (que incluyen números y caracteres). Tal vez me equivoque y me encantaría explorar cualquier sugerencia si la tienes.
¡¡¡Gracias de nuevo!!!
Re: Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLNo estoy seguro de por qué comencé a recibir este error.
demasiados argumentos en el acceso o evaluación de 'Contiene'

Aquí está mi código ..
ts = Report( gb1 )[Frame Box( 1 )] << Find Seg( "TextSeg" );
corr = ts << get text;
corr_num = Num( Contains( corr, "\D", "", GLOBALREPLACE ) );
Re: Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLParece que le gustaría usar Regex() en lugar de Containers().
Re: Extraiga o devuelva valores de correlación utilizando la elipse de densidad de un generador de gráficos en JSLLa definición de la función Contiene() es

Su implementación de la función tiene 4 elementos, donde la función Contiene () solo maneja 3 elementos.Tendrás que adoptar un enfoque diferente.