<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Qualcuno può dirmi se il jittering è personalizzabile? come lo faccio?Grazie
Se si utilizza Graph Builder potrebbe non essere necessario modificare la tabella dati. In JMP 11 è possibile aggiungere trasformazioni personalizzate locali direttamente nel pannello di controllo di Graph Builder.
Per jitter X basta fare clic con il tasto destro sulla variabile e selezionare Formula... , immettere una trasformazione adeguata e fare clic su Applica o su OK per creare la variabile locale (ovvero può essere utilizzata come variabile normale in Costruttore di grafici ma non viene aggiunta alla tabella dati). Trascina entrambe le X nel campo dell'asse X e seleziona i punti per la trasformazione jittered e Line of Fit per la X originale.
Ecco la versione JSL applicata alla tabella di esempio di KarenB:
Costruttore di grafici (
Variabili (
X ( : X ) ,
X (
Trasforma colonna (
"X nervosa" ,
Formula ( : X + Normale casuale () * Col Std Dev ( : X ) / 20 )
) ,
Posizione ( 1 )
) ,
Y ( : Y )
) ,
Elementi (
Linea di vestibilità (
X ( 1 ) ,
Y ,
Leggenda ( 5 ) ,
Fiducia in forma ( 1 ) ,
Grado ( "Lineare" ) ,
) ,
Punti ( X ( 2 ) , Y , Leggenda ( 6 ) )
)
)
L'ho fatto funzionare come segue.
Problema: X e Y nel set di dati originale hanno molta discretizzazione, quindi ci sono punti occlusi.
Obiettivo: visualizzare i dati con jitter in X e Y ma adattare la linea ai dati originali
Es: il set di dati originale ha N=6, nota i valori ripetuti di X e Y
YX
50 1
80 2
80 2
90 2
150 8
150 8
Procedura
1. Raddoppiare il numero di righe, aggiungendo nuove righe nella parte inferiore del set di dati in numero uguale al numero di righe nel set di dati originale. In questo caso, aggiungi 6 righe.
2.Crea nuove colonne X 'e Y' utilizzando le formule mostrate in basso per ripetere i dati originali ma hanno anche righe aggiuntive che sono disattivate da un jitter casuale rispetto alla X originale utilizzando 1/20 (o qualche altra frazione) della sd di i vari punti dati.Crea una nuova colonna Gruppo per indicare se X' e Y' contengono risultati originali o jitter.(Invece di catturare il moltiplicatore di jitter 1/20 nelle formule, puoi anche creare una variabile di tabella in modo che sia più facile cambiare il moltiplicatore al volo.)
Y X Gruppo X' Y'
50 1 originale 1 50
80 2 originale 2 80
80 2 originale 2 80
90 2 originale 2 90
150 8 originale 8 150
150 8 originali 8 150
agitato 0,8675 47,178279975
agitato 2.0640 79.698789972
agitato 2.0296 79.164367702
agitato 2.0775 92.320672901
tremolante 7.9297 150.14705263
agitato 7.7895 151.34309192
3.Nascondere le prime 6 righe in cui X non è vuoto (non sono sicuro di come farlo con una formula).Escludi le seconde 6 righe in cui X è vuoto (stesso commento).
4.Tracciare Y' per X' e adattare una linea. Attiva il ricalcolo automatico in modo da poter giocare con le formule e vedere l'effetto sulla linea. Voilà, vedi solo i dati con jitter ma l'adattamento della linea si basa solo sui dati non con jitter.
Sembra che tu possa scrivere questo script e dare all'utente un controllo dinamico sul jitter:
lo script potrebbe prendere il set di dati originale e copiarlo in una nuova tabella temporanea, eseguire la funzione che ho eseguito manualmente sulla tabella (raddoppiare le righe, aggiungere X' e Y', nascondere ed escludere), adattare una riga e dare l'utente un modo per controllare il moltiplicatore utilizzato nella larghezza del jitter (ho usato 1/20 di StdDev originale come il nuovo jitter Std Dev) utilizzando un dispositivo di scorrimento che si trova sotto il grafico e controlla una costante che viene utilizzata nel set di dati della tabella temporanea.
Formule utilizzate:
Gruppo = If( Manca( :X ), "jittered", "original")
X' = If( Is Missing( :X ), :X[Row() - Col Number( :X ), Empty()] + Random Normal() * (Col Std Dev( :X ) / 20), :X )
Y' = If( Is Missing( :Y ), :Y[Row() - Col Number( :Y ), Empty()] + Random Normal() * (Col Std Dev( :Y ) / 20), :Y )
Uso già la prima soluzione per il jittering ma preferirei qualcosa di più semplice da usare. E, per i girasoli, c'è una soluzione per SAS/Graph nel sistema SAS di Michael Friendly per i grafici statistici che uso dal 1992.
Per la sovrapposizione di punti con jitter e una linea di regressione o di loess, esiste un modo più semplice solo per l'asse Y: inserire le variabili y senza jitter e con jitter sull'asse Y, inviare le variabili y senza jitter sull'asse Y destro, quindi rimodellare la linea per il variabile di sinistra e i punti per quella di destra. Ma non ho ancora trovato una soluzione semplice per l'asse X.
Grazie comunque.
Per i grafici a dispersione è possibile creare una colonna formula con una versione con jitter della variabile effettiva.Generalmente aggiungo un multiplo di un'uniforme casuale e provo vari moltiplicatori finché non ne trovo uno che sembra buono.
Tuttavia , non è quindi possibile tracciare linee di regressione attraverso i dati jitter.Per fare ciò si potrebbe essere in grado di creare due grafici separati, uno con le linee di regressione e i dati nascosti e uno con i dati jitter.Non so se potresti sovrapporli in JMP, ma potresti farlo molto attentamente sovrapponili in qualcosa come PowerPoint.Forse qualcuno può suggerire un modo più semplice.
CIAO,
questa non è una risposta ma un'altra domanda: perché, nel costruttore di grafici, è possibile definire una qualche forma di jittering per i grafici a punti (solo 1 variabile semi-continua) e non (almeno JMP Pro 11.1) per un grafico a dispersione, dove il jittering è più utile?
Anche i girasoli saranno molto utili. Basta vedere cosa può fare SPSS al riguardo.
Yves Roy, Francia