Come trasformare la tabella di correlazione di Spearman in un formato matrice come quello di Pearson?Nel report di analisi multivariata i risultati della correlazione di Spearman sono in una tabella; posso ottenerli in un formato matrice come la matrice di correlazione di Pearson?
Analisi e modellazione dei dati di baseOrganizzazione dei contenutiRe: Come trasformare la tabella di correlazione di Spearman in un formato matrice come Pearson?Ciao @frankderuyck ,
Una volta ottenuti i risultati della correlazione di Spearman nella tabella della piattaforma Multivariate, puoi fare clic con il pulsante destro del mouse sulla tabella, selezionare "Trasforma in Datatable" e quindi utilizzare Graph Builder su questa nuova tabella dati per riprodurre il tipo di grafico a cui sei abituato con la matrice di correlazione di Pearson:

È anche possibile generare una tabella con la piattaforma Tabulate su questa tabella dati:

Poiché la correlazione di Pearson è simmetrica, potresti aspettarti alcuni valori mancanti per coppie di variabili (se hai un valore di correlazione tra A e B, il valore tra B e A non viene visualizzato, ma è lo stesso). Per ottenere grafici o tabelle di tipo Tabulate dall'aspetto gradevole, potresti dover aggiungere la proprietà di colonna "Ordine valori" per ordinare le diverse variabili.
Codice JSL per generare un grafico dalla tabella:
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :by Variable ), Y( :Variable ), Color( :Spearman ρ ) ),
Elements( Heatmap( X, Y, Legend( 7 ), Label( "Label by Value" ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
7,
Properties(
0,
{gradient( {Scale Values( [-1 0 1] )} )},
Item ID( "Spearman ρ", 1 )
)
)}
),
Dispatch( {}, "graph title", TextEditBox,
{Set Text( "Variable by Variable Spearman correlation matrix" )}
)
)
);
E per la tabella da tabulate (che puoi trasformare in una tabella dati JMP con l'opzione del triangolo rosso da Tabulate "Trasforma in tabella dati"):
Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Grouping Columns( :by Variable ),
Analysis Columns( :Spearman ρ ),
Statistics( Mean )
),
Row Table( Grouping Columns( :Variable ) )
)
);
In allegato troverete la tabella dati e l'analisi utilizzate per questo esempio.
Spero che questa risposta ti sia d'aiuto,
Re: Come trasformare la tabella di correlazione di Spearman in un formato matrice come Pearson?Grazie Victor, questa opzione per la creazione di grafici sembra interessante!
Re: Come trasformare la tabella di correlazione di Spearman in un formato matrice come Pearson?Immagino che non ci sia alcuna opzione matrice Spearman sotto un triangolo rosso?
Re: Come trasformare la tabella di correlazione di Spearman in un formato matrice come Pearson?Quando eseguo gli script sulla tabella Pearman, ottengo un'immagine molto confusa... Inoltre, lo script di tabulazione non genera una matrice di correlazione simile a quella di Pearson? L'ordinamento dei valori non è facile perché ho molte variabili. La matrice di correlazione di Pearson è perfetta, perché non è possibile per quella di Spearman?

Re: Come trasformare la tabella di correlazione di Spearman in un formato matrice come Pearson?In allegato la tabella dei gradi dei lancieri
Re: Come trasformare la tabella di correlazione di Spearman in un formato matrice come Pearson?Ciao Franck,
Sì, l'ordinamento delle variabili è molto importante per ottenere una buona matrice di confusione triangolare.
Ho trovato una soluzione con il tuo set di dati:
- Fare clic con il tasto destro del mouse sulla colonna "Variabile", Nuova colonna formula>Raggruppa per .
- Quindi, fare clic con il pulsante destro del mouse sulla colonna "Variabile", quindi selezionare Nuova colonna formula > Carattere > Classifica (ordine inverso) . Quindi ripetere l'azione 1 in modo che "Variabile" non sia più la variabile GroupBy.
- Eseguire gli stessi passaggi per la colonna "Per variabile".
- Modificare il tipo di modellazione delle due nuove colonne in Ordinale.
- Quindi puoi utilizzare Graph Builder, posizionare le colonne Variabile, Per variabili e Spearman e aggiungere la colonna "Reverse Rank[Variabile][Variabile]" sopra l'asse "Variabile" e la colonna "Reverse Rank[per variabile][per variabile]" sopra l'asse "Per variabile".
Dovresti quindi ottenere la bella matrice di correlazione di Spearman:

Oppure, una volta create le colonne di classificazione, puoi utilizzare direttamente questo script Graph Builder:
Graph Builder(
Size( 733, 664 ),
Show Control Panel( 0 ),
Variables(
X( :"Reverse Rank[by Variable][by Variable]"n ),
Y( :"Reverse Rank[Variable][Variable]"n ),
Color( :Spearman ρ )
),
Elements( Heatmap( X, Y, Legend( 22 ), Label( "Label by Value" ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
22,
Properties(
0,
{gradient( {Scale Values( [-1 0 1] )} )},
Item ID( "Spearman ρ", 1 )
)
)}
),
Dispatch( {}, "graph title", TextEditBox,
{Set Text( "Correlation matrix Spearman" )}
)
)
);
Per l'opzione Tabula, la cosa è più semplice: basta selezionare l'opzione "Ordina per conteggio delle colonne di raggruppamento" per ottenere la matrice corretta:

In allegato troverete il set di dati con le due colonne e la visualizzazione aggiunta.
Spero che questa risposta ti sia d'aiuto,
Re: Come trasformare la tabella di correlazione di Spearman in un formato matrice come Pearson?Ottimo, grazie Victor!