Ciao a tutti,
Ho uno script in cui sto testando l'autocorrelazione di due colonne in una tabella di dati. Questo viene fatto sul file Big Clas.jmp.

Voglio aggiungere a questo script un pannello che mostri anche il grafico dell'autocorrelazione tra le due colonne -- nello specifico, sto provando a rappresentare graficamente la colonna chiamata Lag e la colonna chiamata Corr vs weight nel rapporto Time Series mostrato sopra.
Posso ottenere queste due colonne come un elenco di numeri in forma di matrice utilizzando il comando <
Ho una variabile in memoria chiamata LagData, che è: [-39, -38, -37, -36, -35, -34, -33, -32, -31, -30, -29, -28, - 27, -26, -25, -24, -23,
-22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6 , -5,
-4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
E un'altra variabile in memoria chiamata CorrData, che è:[-0.0647505789131993, -0.0562977495028363, -0.160576535513772, -0.0235481399032656,
-0.207169184582488, -0.177727203882624, -0.082867673832995, -0.301048676439611,
-0.18208292918265, -0.12254560898792, -0.249310826860239, -0.088652621497092,
-0.0624774347722481, -0.137178123667694, -0.136824220987067, -0.144133672506173,
-0.0234936933370152, -0.117060117438199, 0.00715972346191791, -0.0454901061021466,
0.045163426704645, 0.0733531363807509, 0.0781580458523421, 0.0903268534092898,
0.0715972346191779, 0.269592172788486, 0.201125615728702, 0.207931436509992,
0,240014075672996, 0,198879694870876, 0,242681957419262, 0,29961945407554,
0.123566482105113, 0.342536959922359, 0.348675810267083, 0.0338521525661397,
0.352909030793046, 0.122885900026984, 0.0684665570597841, 0.709166525410487,
-0.132073758081727, 0.239510444935181, 0.186710887313928, -0.0461434648971507,
0,148366893032136, -0,0517650728624969, -0,0831943532304971, 0,025549051212965,
0,0530445671693793, -0,0655672774069544, -0,107858647741894, -0,0662478594850834,
-0.125907684453877, -0.0405899151396176, -0.151470347308405, -0.0967923831515159,
-0.0551815948947048, -0.136388648457065, -0.141914974931473, -0.158684517336573,
-0.0462523580296514, -0.0891426405933452, -0.019900219964494, -0.22426540638509,
-0.0337568710752018, -0.13129789451266, -0.0399637796277388, -0.00593467572128552,
-0.217418750679112, 0.092137201737113, -0.0450409219305816, -0.106334143886885,
0,105109096146253, -0,174569303040105, 0,0144827866225865, 0,0175998525404177,
-0.0346688510598947, 0.0216697333676295, -0.0202813459282462]
Mi piacerebbe poter inviare queste matrici a Graph Builder per ottenere qualcosa del genere:

Ma a GB non piace che i dati siano un elenco di numeri: vuole che gli input per X() e Y() siano colonne. L'esempio precedente è stato eseguito facendo clic con il pulsante destro del mouse sul report e selezionando Trasforma in tabella dati e quindi utilizzando GB nel modo normale. Preferirei non doverlo fare però.
C'è un modo per inviare a GB i dati che sono in memoria invece che come colonne? Ho provato il codice seguente, ma non funziona.
gb = Graph Builder(
Graph Spacing( 4 ),
Variables( X( LagData ), Y( CorrData ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
Di seguito è riportato il mio codice completo se sei interessato.
//GUI for quickly reporting statistics and outlier analysis written by D. Schmidt, ver1.0
Names Default To Here( 1 );
Clear Symbols();
//the width of the column list box in pixels
lbWidth = 150;
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );//Current Data Table();
//Expression to recall roles
RecallRoles = Expr(
::ycolRecall = ColListY << GetItems;
::xcolRecall = ColListX << GetItems;
::ALRecall = AlBox << Get;
::FPRecall = FPBox << Get;
);
//Expression to clear roles
ClearRoles = Expr(
Try(
ColListY << Remove All;
ColListX << Remove All;
ALBox << Set( . );
FPBox << Set( . );
)
);
//User window
ValueDlg = Expr(
nwin = New Window( "GUI for visualizing cross correlations",
<<RETURN result=""></RETURN>
Qualsiasi pensiero / feedback su come farlo è molto apprezzato.
Grazie!,
DS