Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità dai grafici di un generatore di grafici in JSLCiao,
Sono un tipo nuovo per JSL. Sto tracciando un grafico di dati numerici vs categoriali utilizzando la funzione di creazione di grafici in JMP e aggiungendo un'ellisse per vedere anche una correlazione. Sto usando gli script per le mie trame future ma voglio personalizzare un po' memorizzando i valori di correlazione (indicati con la freccia rossa nella figura) da qualche parte in una variabile in modo da poterla utilizzare in alcune operazioni logiche.Ad esempio, se voglio tracciare solo grafici che hanno una correlazione maggiore di 0,45. Qualsiasi script JSL, aiuto o lead sarebbe apprezzato. In seguito ne ho provati alcuni ma ancora senza successo.
Grazie!
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 );

Memorizzare la correlazione indicata con la freccia rossa.
AnaliticaTabella datiGraficaSceneggiaturafinestreRe: Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità da un grafico per la creazione di grafici in JSLNon sono sicuro che dovresti controllare una correlazione come questa tra le colonne Continua e Nominale, ma ... puoi esportare la correlazione dal generatore di grafici con qualcosa del genere (non sono sicuro di quanto facilmente si 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;
Come ci sono arrivato:
1. Creato il generatore di grafici e aperto il menu Personalizza. Ho notato che potevo cambiare il colore degli elementi di testo, quindi l'ho fatto

2. Ho ottenuto lo script per il mio generatore di grafici con testo rosso e ho scoperto che il cambio di colore influisce su 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. Controllato Scripting Index for Text Seg e trovato un modo per ottenere il valore

Re: Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità da un grafico per la creazione di grafici in JSLCiao HadelyMyers,
Grazie mille per la soluzione. Nei miei dati una colonna è numerica e l'altra è categoriale (per lo più caratteri). Non sono sicuro di come utilizzare multivariato con questo tipo di dati. Questo è il motivo per cui sto usando il generatore di grafici e il diagramma dell'ellisse di densità per vedere la correlazione laggiù. Sfortunatamente, la soluzione che fornisci non ha funzionato sui miei dati. Sperando in una tua risposta.
Grazie ancora!
Re: Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità da un grafico per la creazione di grafici in JSLCiao,
Non sono sicuro che ci sia un modo per estrarre questo numero da un report di Generatore di grafici, ma è abbastanza semplice farlo usando Multivariate (vedi script di seguito).Per te funziona?
Names Default To Here(1);
dt=open("$SAMPLE_DATA/Tablet Production.jmp");
mul=dt<<MULTIVARIATE></MULTIVARIATE>Re: Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità da un grafico per la creazione di grafici in JSLCiao Jthi,
Grazie molte! Ha funzionato!!!
Sulla base della mia comprensione limitata, ho pensato che questo fosse uno dei modi per vedere la correlazione tra dati numerici e categoriali (che include numeri e caratteri). Forse sbaglio e mi piacerebbe esplorare tutti i suggerimenti se ne hai.
Grazie ancora!!!
Re: Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità da un grafico per la creazione di grafici in JSLNon sono sicuro del motivo per cui ho iniziato a ricevere questo errore
troppi argomenti nell'accesso o nella valutazione di "Contiene"

Ecco il mio codice..
ts = Report( gb1 )[Frame Box( 1 )] << Find Seg( "TextSeg" );
corr = ts << get text;
corr_num = Num( Contains( corr, "\D", "", GLOBALREPLACE ) );
Re: Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità da un grafico per la creazione di grafici in JSLSembra che tu voglia usare Regex() invece di Contains().
Re: Estrarre o restituire i valori di correlazione utilizzando l'ellisse di densità da un grafico per la creazione di grafici in JSLLa definizione della funzione Contains() è

La tua implementazione della funzione ha 4 elementi, dove la funzione Contains() gestisce solo 3 elementi.Dovrai adottare un approccio diverso.