Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiSalve, ho una domanda su come modellare alcuni dati che sto esaminando (JMP 11).
Obiettivo finale: visualizzare un grafico che mostra il conteggio dei valori di una colonna di dati nominali (X) rispetto a. Colonna dati continui (Y).
Più avanti tra le erbacce:
Ho una colonna di dati nominali: DieNumber.
E una colonna di dati continui: ResDelta.
Desidero visualizzare il conteggio di ciascun DieNumber (es: 1, 2, 3) visualizzato sull'asse X invece di ciascun valore DieNumber, ma nel Graph Builder si passa la statistica riepilogativa a N quando ResDelta (Continuo) viene tracciato sull'asse Y sta riassumendo Y e non riassumendo i conteggi di ciascun valore di X.
L'unica soluzione alternativa che ho trovato è utilizzare la funzione Overlay Plot, associando ResDelta come \[Y\], associando DieNumber come \[By\], ma questo divide ogni grafico individualmente quando voglio che i dati siano tutti in un grafico.
Davvero alle prese con questo problema, quindi qualsiasi aiuto sarebbe apprezzato, grazie!finestreRi: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiGrazie per l'aiuto! Ecco come è andata a finire. Lo ripulirò ancora un po', ma questo è tutto!

Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiSe ordini i tuoi dati per "Nome" (Using @ih esempio), la formula seguente fornirà la somma cumulativa delle colonne in JMP 11
If(Lag(:Name) != :Name | Row() == 1, x = 0);
x++;
x
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiQuesto è molto vicino, non penso che JMP 11 abbia Col Cumulative Sum() come argomento. Ma questo è il tipo di grafico e di modellazione che sto cercando di vedere!
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiAah, grazie, chiedi a questo esempio di chiarire il tuo caso d'uso!Se ho capito bene, vuoi che tutti i tempi delle singole tracce vengano tracciati come punti separati, non solo un singolo punto che rappresenta entrambe le corse di Tim.Mi avvicinerei a questo creando una colonna che conta il numero di volte in cui ogni persona ha corso lungo la pista fino a quel momento, e poi semplicemente tracciandolo rispetto alle calorie bruciate.
La formula per i tempi attorno alla colonna della traccia potrebbe assomigliare a questa (nota come somma semplicemente il numero invece di avere un riferimento alla colonna nel primo argomento):


Script per ricreare il grafico:
Visualizza altro... Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiGrazie a tutti per l'aiuto, se questo chiarisce le cose vorrei presentare un problema simile che potrebbe essere più facile da capire.
Problema di esempio:
Tim, Alex e Sara corrono su una pista. Dopo ogni giro viene effettuata una misurazione delle calorie bruciate.
Tim ha corso lungo la pista 2 volte con calorie bruciate: 75, 155 rispettivamente.
Alex ha corso circa 4 volte con misurazioni delle calorie di: 60, 130, 195 e 240 cal.
Sara ha corso circa 5 volte con misurazioni di: 65, 125, 180, 235 e 280 cal.
Come faccio a tracciare il grafico (numero di volte in cui ho corso) rispetto a (calorie bruciate)?
Per ricollegarlo al mio problema:
Nomi (nominali) = ChipDieNum,
(Nominale) N. di volte in cui è stato eseguito il giro = Conteggio di ChipDieNum,
(Continuo) Calorie bruciate = Delta Res.
Per la cronaca ho oltre 8.000 voci di dati che vorrei modellare.
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiQuesta è la soluzione più vicina finora tra tutte, ma il problema che ho è che il mio grafico finale deve essere (Count of ChipDieNum) rispetto a (Res Delta).
Per esempio:
ChipDieNum: 401 ha eseguito la calibrazione 3 volte con Delta di resistenza: -10200; -2000; -100 Ohm. Nei dati, ChipDieNum = (401), Conteggio di ChipDieNum = (3) e Res Delta = (-10200,-2000,-100)
ChipDieNum: 510 ha eseguito la calibrazione 2 volte con Delta di resistenza: -13000, -2600; -200 Ohm. Che verrebbe visualizzato come: ChipDieNum = (510), Conteggio di ChipDieNum = (2) e Res Delta = (-13000,-2600,-200)
Sto tentando di correlare il fatto che il Delta Res per un chip aumenta in base al numero di volte in cui è stato eseguito la calibrazione tracciando il conteggio di ChipDieNum (X) rispetto a Res Delta (Y). In un altro senso, sto cercando di associare più valori Res Delta (Y) con valori di Count (X) di ciascun valore ChipDieNum dove ChipDieNum è nominale e Res Delta è continuo.
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiEcco un metodo alternativo che I pensare funzionerà in JMP 11 e traccerà valori continui, e di seguito è forse un modo più semplice per visualizzare questi dati utilizzando un istogramma:
Metodo 1
Calcola i punti da tracciare utilizzando la tabella con tipi di dati ordinali e un filtro di dati locale escludendo i valori mancanti su quello che sarebbe l'asse x. Quindi, nella nuova tabella dati, ripristina i tipi di dati su continui e traccia.
- Aggiungi una nuova colonna con una formula come questa (nelle versioni più recenti di JMP potresti farlo direttamente nella finestra di dialogo di avvio della piattaforma senza creare una colonna):

- Apri la tabella, modifica temporaneamente la variabile y in nominale, dopo puoi modificarla nuovamente.
- Aggiungi un filtro dati locale per escludere le righe con età mancanti, impostalo su nominale e seleziona "0"

- Trasformalo in una tabella dati
- Riportare i tipi di modellazione dei dati su continui
- Grafico

Metodo 2
Nel generatore di grafici crea un istogramma utilizzando solo l'asse y e aggiungi un filtro dati locale escludendo i valori mancanti su quello che sarebbe l'asse x.
- Crea la stessa colonna "mancante" per la variabile dell'asse x
- Aggiungi quella colonna come filtro dati locale nel generatore di grafici.
- Aggiungi la variabile y all'asse y, dovrebbe essere continua
- Cambia il grafico in un istogramma
- Modificare le impostazioni dell'asse sull'asse y in qualcosa di ragionevole. Tieni presente che questo eseguirà comunque un po' di raggruppamento, quindi a seconda della tua impostazione qui potrebbe combinare le altezze 51.1 e 51.2 nella stessa barra con un conteggio 2.

Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiCIAO @Jakedahsnake ,
Come altri membri hanno cercato di trovare soluzioni al tuo problema, ne proverò un altro, basato sulle discussioni.
Per creare il grafico allegato, ecco i passaggi:
- Crea una nuova colonna "Count" per Die ID:
// New formula column: Count
Data Table( "dieexample" ) << New Formula Column(
Operation( Category( "Aggregate" ), "Count" ),
Columns( :ResDelta ),
Group By( :Die )
);
- Crea un grafico che mostri la distribuzione di ResDelta in base al numero di punti, con le informazioni di Die ID in "Overlay" e boxplot per facilitare il confronto (opzionale e potrebbe essere disordinato se hai un set di dati di grandi dimensioni):
Graph Builder(
Size( 984, 474 ),
Show Control Panel( 0 ),
Variables( X( :Count ), Y( :ResDelta ), Overlay( :Die ) ),
Elements( Points( X, Y, Legend( 10 ) ), Box Plot( X, Y, Legend( 12 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position(
{10, [0, 1, 2, 3, 4], 12, [-1, -1, -1, -1, -1, -3, -3, -3, -3, -3]}
)}
)
)
);
Fatto ciò, dovresti arrivare al grafico allegato (ho aggiunto boxplot nel grafico e nello script, ma puoi rimuoverli se non sono utili al tuo obiettivo):

Ho anche allegato il set di dati che ho utilizzato per la dimostrazione con lo script grafico allegato.
Spero che questo ti possa aiutare,
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiSe questo è il tipo di grafico che desideri

Ecco il metodo che ho utilizzato in JMP 11. Le versioni più recenti lo renderebbero più semplice.
Per prima cosa creo una nuova colonna chiamata "count" utilizzando la formula
If(Lag(:Die) != :Die | Row() == 1, x = 0);
x++;
x
Lo stato Etichetta viene quindi applicato alla colonna Conteggio.
Per ogni riga è impostato lo stato dell'etichetta.Ciò consentirà la visualizzazione del valore come etichetta.
La colonna ResDelta viene trascinata nell'area Y dop
Il dado viene trascinato nell'area di rilascio X
Il conteggio viene trascinato nell'area di rilascio Colore
Quest'ultimo passaggio viene eseguito in modo che il colore dei punti possa essere cambiato in bianco, in modo che non vengano visualizzati sul grafico.Per cambiare il colore, basta andare su ciascuno dei punti colorati nella legenda, fare clic con il tasto destro su di essi uno alla volta e cambiare il colore in bianco.
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiResDelta è però dati continui. Inoltre, non sono presenti frecce rosse accanto al menu a discesa dei punti nel pannello di controllo. Forse perché sto usando JMP 11.
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiAah, ora capisco.È necessario modificare l'asse y in modo che sia un dato ordinale o nominale e Poi scegli l'asse di risposta da riassumere sotto il triangolo rosso per Punti.In alcuni casi potrebbe essere necessario prima raggruppare i dati, ad esempio arrotondando al numero intero più vicino, ma nel tuo caso sembra che Res Delta sia già un numero intero.

Ora, per qualche motivo, le etichette dell'asse x si sono incasinate quando l'ho eseguito, quindi ho dovuto accedere alle impostazioni dell'asse x e correggerle. Quindi, ho pensato che questo script avrebbe dovuto funzionare:
Visualizza altro...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 502, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
)
);
Nomi predefiniti qui (1); dt = Open( "$Dati_campione/big class.jmp" ); dt:altezza << Imposta tipo di modellazione("Ordinale"); dt:age << Imposta tipo di modellazione("Ordinale"); Costruttore di grafici( Dimensioni( 502, 256 ), Mostra pannello di controllo( 0 ), Variabili( X( :età ), Y( :altezza ) ), Elementi( Punti( X, Y, Legenda( 3 ), Statistica riassuntiva( "N "), Asse di risposta("X")))));
ma invece avevo bisogno di usare questo:
Visualizza altro...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 501, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
),
SendToReport(
Dispatch(
{},
"age",
ScaleBox,
{Label Row(
{Tick Mark( Label( "12" ), Label( "0" ) ),
Tick Mark( Label( "13" ), Label( "1" ) ),
Tick Mark( Label( "14" ), Label( "2" ) ),
Tick Mark( Label( "15" ), Label( "3" ) ),
Tick Mark( Label( "16" ), Label( "4" ) ),
Tick Mark( Label( "17" ), Label( "5" ) )}
)}
)
)
);
Nomi predefiniti qui (1); dt = Open( "$Dati_campione/big class.jmp" ); dt:altezza << Imposta tipo di modellazione("Ordinale"); dt:age << Imposta tipo di modellazione("Ordinale"); Costruttore di grafici( Dimensioni( 501, 256 ), Mostra pannello di controllo( 0 ), Variabili( X( :età ), Y( :altezza ) ), Elementi( Punti( X, Y, Legenda( 3 ), Statistica riassuntiva( "N "), Asse di risposta("X"))), SendToReport( Dispatch( {}, "age", ScaleBox, {Label Row( {Tick Mark( Label( "12" ), Label( "0") ), Tick Segno( Etichetta( "13" ), Etichetta( "1") ), Segno di spunta( Etichetta( "14" ), Etichetta( "2") ), Segno di spunta( Etichetta( "15" ), Etichetta( "3" ) ), Segno di spunta ( Etichetta ( "16" ), Etichetta ( "4" ) ), Segno di spunta ( Etichetta ( "17" ), Etichetta ( "5" ) )} )} )) );
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiHo provato a farlo, ma per qualche motivo JMP sta riassumendo Y (immagino dal momento che si tratta di dati continui) invece di riassumere N per X, quindi finisco per ottenere un grafico diverso:

Anche se mostra i conteggi del ChipDieNumber, ora viene tracciato sulla Y al posto di ResDelta.
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiIn Punti, prova a modificare la statistica riepilogativa in "N":

Penso che questo dia quello che stai cercando:

Script da ricreare:
Visualizza altro...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
win = New Window("Example",
H List Box(
Graph Builder(
Size( 503, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ), Summary Statistic( "N" ) ) )
),
Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :age ) ) )
)
)
);
Nomi predefiniti qui (1); dt = Open( "$Dati_campione/big class.jmp" ); win = Nuova finestra("Esempio", Casella di riepilogo H( Costruttore di grafici( Dimensioni( 503, 256 ), Mostra pannello di controllo( 0 ), Variabili( X( :età ), Y( :altezza ) ), Elementi( Punti( X , Y, Legenda ( 3 ), Statistica riepilogativa ( "N") )) ), Tabula ( Mostra pannello di controllo ( 0 ), Aggiungi tabella ( Tabella righe ( Raggruppamento colonne ( : età ) ) ) ) ) );
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiGrazie per il caloroso benvenuto e apprezzo il tempo che hai dedicato a questo! Ho tracciato le variabili su X e Y come penso che dovrebbero essere, ed ecco cosa vedo:

Questo è quasi corretto, tranne che per ogni X (ChipDieNum) possono esserci più valori Y (ResDelta). Invece di tracciare i valori X, voglio tracciare i conteggi di ciascun valore X (ChipDieNum).
Come accennato in precedenza, X è impostato su Nominale e Y è Continuo.
Ri: Come tracciare il conteggio dei valori dei dati nominali rispetto ai dati continuiInnanzitutto benvenuto nella community. Non sono sicuro di aver compreso il problema, ma ho allegato un set di dati falso con numeri falsi per due variabili Die e ResDelta. Ho salvato uno script per Graph Builder (freccia verde). Basta fare clic su di esso. E 'questo quello che stai cercando? A proposito, sono sulla V17 quindi non sono sicuro che funzionerà sulla V11... quindi ecco lo script:
Graph Builder(
Variables( X( :Die ), Y( :ResDelta ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
)