Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)Ciao,
Questo lo fa?
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
dt_2 = dt << Multivariate(
Y(
:Name( "Mass" ),
:Name( "Fore" ),
:Name( "Bicep" ),
:Name( "Chest" )
),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 ),
Spearman's ρ(1)
);
report(dt_2)
[Outline Box("Correlations")][1, 1] << make into data table;
Report( dt_2 )
[Outline Box( "Nonparametric: Spearman's ρ" )][Table Box( 1 )] <<
Make Into Data Table;Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)Ci stiamo avvicinando. Sono contento di aver appreso le opzioni "Outline Box".
Sfortunatamente, la forma della matrice di output è "triangolare", non "quadrata" (secondo necessità; anche per questo motivo mancano gli "diagonali" 1.0).
È facile arrivarci?
Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)Ciao agian,
Ci è voluto un po 'di manipolazione, ma vedi se riesci a farlo funzionare per te:
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
dt_2 = dt << Multivariate(
Y(
:Name( "Mass" ),
:Name( "Fore" ),
:Name( "Bicep" ),
:Name( "Chest" )
),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 ),
Spearman's ρ(1)
);
report(dt_2)
[Outline Box("Correlations")][1, 1] << make into data table;
dt_spearman=Report( dt_2 )
[Outline Box( "Nonparametric: Spearman's ρ" )][Table Box( 1 )] <<
Make Into Data Table;
variables={"Mass","Fore","Bicep","Chest"};
For(i=1,i<=4,i++,
dt_spearman<<ADD rows=""></ADD>Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)In ogni caso: sì, è la matrice quadrata. Hai fatto un lavoro impressionante, sul serio.
Da un punto di vista tecnico: questo non può funzionare per me: ho bisogno di queste matrici Spearman per diversi set di dati con centinaia di campi.
Semplicemente non posso cambiare manualmente da triangolare a quadrato ogni volta. Devo pensare a qualcos'altro.
@HadleyMyers ha scritto:
Ciao agian,
Ci è voluto un po 'di manipolazione, ma vedi se riesci a farlo funzionare per te:
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
dt_2 = dt << Multivariate(
Y(
:Name( "Mass" ),
:Name( "Fore" ),
:Name( "Bicep" ),
:Name( "Chest" )
),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 ),
Spearman's ρ(1)
);
report(dt_2)
[Outline Box("Correlations")][1, 1] << make into data table;
dt_spearman=Report( dt_2 )
[Outline Box( "Nonparametric: Spearman's ρ" )][Table Box( 1 )] <<
Make Into Data Table;
variables={"Mass","Fore","Bicep","Chest"};
For(i=1,i<=4,i++,
dt_spearman<<ADD rows=""></ADD>
Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)Sarebbe possibile generalizzare il mio script, o parti di esso, in modo che possa essere utilizzato con i tuoi set di dati? Se puoi pubblicare uno dei tuoi set di dati dopo aver reso anonimi i dati (Tabella -> Anonimizza) e creare lo script multivariato, forse possiamo risolvere qualcosa?
Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)dt <SPAN class="token operator">=</SPAN> <SPAN class="token function">Open</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token string">"$SAMPLE_DATA/Body Measurements.jmp"</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Ho un'idea migliore Puoi forse generalizzare il tuo approccio a tutte le colonne nel set di dati "Misurazioni del corpo" (vedi link sopra)?
Se vogliamo essere audaci, possiamo far finta che la prima colonna sia un ID che vogliamo saltare ... Sarebbe la ciliegina sulla torta ...
Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)Penso che questo dovrebbe farlo:
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
colnameslist=dt<<GET column="" names=""></GET>Ri: Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)Fantastica.
Ecco alcuni suggerimenti per gli utenti interessati:
JMP calcola le correlazioni solo per i campi conservati. Conseguenze di colonne di caratteri mantenute per errore:
(1) diverse strutture: la matrice di Spearman mantiene le colonne dei personaggi; La matrice Pearson li filtra automaticamente
(2) Valori mancanti: Spearman non calcola i coefficienti ma posiziona i valori mancanti
(3) Ordine delle colonne: Pearson: come nel set di dati originale, Spearman: alfabetico.
Come salvare i coefficienti di correlazione di Spearman direttamente nella tabella dei dati JMP (scripting, JSL)Ciao,
Ho scritto un piccolo programma che calcola e salva i coefficienti di Pearson direttamente in una tabella JMP.
Puoi aiutarlo ad adattarlo per salvare i coefficienti di Spearman allo stesso modo? L'opzione "Spearman" non ha alcun effetto sulla memorizzazione ... una delle tante opzioni che ho provato finora ...
Grazie
dt = Open ("$ SAMPLE_DATA / Body Measurements.jmp"); dt_2 = dt << Multivariato (Y (: Name ("Mass"),: Name ("Fore"),: Name ("Bicep"),: Name ("Chest")), Metodo di stima ("Row-wise" ), Formato matrice ("Quadrato"), Scatterplot Matrix (0), Spearman's ρ (1)); dt_2 = report (dt_2) [Riquadro di contorno ("Correlazioni")] [1, 1] << trasforma in tabella dati; dt_2 << save ("C: \ .... \ Spearman.jmp");