JSL riassume con una croce con un conteggio zero<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ok, professionisti JSL. Voglio riassumere i dati che troveresti in una tabella di contingenza. La diagnosi ha 2 voci, TestRslt ha 2 elementi (so cosa sono se questo aiuta così Diagnosi = {"pos", "neg"}). Quanto segue funziona alla grande se il mio conteggio è almeno 1 in ciascuna cella della tabella di contingenza. Prendo il mio c = [34, 35, 2, 3]. Tuttavia, se ho uno zero in una cella allora ottengo c = [34, 35, 2] quando ho davvero bisogno di avere c = [34, 35, 2, 0] perché ho bisogno di sapere che ho uno zero per un combinazione.
ricapitolare ( attraversare = di ( Colonna ( R [ "Diagnosi" ] ) , Colonna ( R [ "TestRslt" ])) ,
c = contare ,
) ;
Ri: JSL riassume con una croce con un conteggio zeroGrazie Marco,
Ho finito per usare la contingenza per estrarre i valori di cui avevo bisogno ma sono rimasto con il categorico per la visualizzazione.
Ri: JSL riassume con una croce con un conteggio zeroPerché non usare il Contingenza piattaforma, che ottiene giusto? Vuoi accedere al potente Cross Tab Box visualizza l'oggetto casella che è responsabile della presentazione della tabella di contingenza effettiva. Puoi trovare il suo protocollo nel Aiuto> Indice di scripting sotto Scatole di visualizzazione . L'ho usato molte volte come "cavallo da lavoro".
In genere, inizia sempre con l'oggetto di livello di prova elevato (Contingency) anziché con il codice di livello più basso (funzione Summarize ()).
Ri: JSL riassume con una croce con un conteggio zeroGrazie! Darò una prova quando avrò una possibilità e poi tornerò con il prossimo numero.
Ri: JSL riassume con una croce con un conteggio zerogatto = Categorico (
X ( : Diagnosi ) ,
risposte ( : TestRslt ) ,
Condividi di risposte ( 0 ) ,
Condividi grafico ( 0 ) ,
Leggenda ( 0 )
) ;
// Il tipo di box di visualizzazione implementato male / documentato in jsl, ma << GetXML spesso funziona ...
xml = rapporto ( gatto ) [ Gridmulticellbox ( 2 )] << prendi xml ;
// Estrae i numeri come lista di stringhe
c = XPath Query ( xml , "// GridMultiCellBoxItem / text ()" ) ;
// Crea in matrice
c = matrice ( ripetere ( io = 0 ; { io ++; num ( c [ io ] ) } , nitems ( c ))) ;
Ri: JSL riassume con una croce con un conteggio zeroOk, l'opzione di hacking è fuori. Sto cercando di migliorare ciò che ho e non posso rovinare le mie tabelle di dati. La tabella di contingenza è un'opzione. Il motivo per cui stavo tentando di utilizzare un riepilogo piuttosto che una piattaforma era perché il numero specifico è fondamentale, in quanto ho bisogno di sapere quale numero va con il risultato pos / pos. Se l'ordine delle etichette è diverso nelle colonne, la cella per pos / pos potrebbe cambiare. Tuttavia, potrei controllare con quello impostando l'ordinamento nella colonna. Attualmente, anziché la piattaforma di contingenza, utilizzo la piattaforma categoriale. Quindi, quale sarebbe il tuo metodo preferito per acquisire i dati dalla tabella delle frequenze?
Grazie in anticipo!!!
dt2 = Nuova tabella ( "Uno mancante" ,
aggiungi righe ( 12 ) ,
Nuova colonna ( "Diagnosi" , personaggio ) ,
Nuova colonna ( "TestRslt" , personaggio )
) ;
Per ogni riga (
dt1 : Diagnosi [] = x1 [ Contare ( 1 , 2 , 2 , 5 )] ;
dt2 : Diagnosi [] = x1 [ Contare ( 1 , 2 , 2 , 6 )] ;
dt1 : TestRslt [] = x2 [ Contare ( 1 , 2 , 2 , 3 )] ;
dt2 : TestRslt [] = x2 [ Contare ( 2 , 1 , 2 , 7 )] ;
) ;
Categorico (
X ( : Diagnosi ) ,
risposte ( : TestRslt ) ,
Condividi di risposte ( 0 ) ,
Condividi grafico ( 0 ) ,
Leggenda ( 0 )
) ;
Ri: JSL riassume con una croce con un conteggio zeroUn modo sarebbe quello di aggiungere righe fittizie, una per ogni combinazione possibile, e quindi correggere l'hack alla fine con c = c - 1.
Un altro modo è usare il built-in Contingenza piattaforma, ad esempio:
// tabelle di esempio
x1 = { "pos" , "Neg" } ; x2 = { "UN" , "B" } ;
dt1 = Nuova tabella ( "Tutti qui" , aggiungi righe ( 12 ) , Nuova colonna ( "Diagnosi" , personaggio ) , Nuova colonna ( "TestRslt" , personaggio , ) ) ;
dt2 = Nuova tabella ( "Uno mancante" , aggiungi righe ( 12 ) , Nuova colonna ( "Diagnosi" , personaggio ) , Nuova colonna ( "TestRslt" , personaggio ) ) ;
Per ogni riga (
dt1 : Diagnosi [] = x1 [ Contare ( 1 , 2 , 2 , 5 )] ;
dt2 : Diagnosi [] = x1 [ Contare ( 1 , 2 , 2 , 6 )] ;
dt1 : TestRslt [] = x2 [ Contare ( 1 , 2 , 2 , 3 )] ;
dt2 : TestRslt [] = x2 [ Contare ( 2 , 1 , 2 , 7 )] ;
) ;
// Conta la frequenza di combinazione per Summarize ()
s_counts = Funzione ( { dt } ,
Tabella dei dati corrente ( dt ) ;
Ricapitolare ( attraversare = di ( Colonna ( "Diagnosi" ) , Colonna ( "TestRslt" ) ) , c = contare , ) ;
c ;
) ;
// Count frequenza di combinazione per Contigency ()
c_counts = Funzione ( { dt } ,
Tabella dei dati corrente ( dt ) ;
c = ( Contingenza (
Y ( : Diagnosi ) ,
X ( : TestRslt ) ,
Tabella di contingenza (
Contare ( 1 ) ,
Totale % ( 0 ) ,
Col% ( 0 ) ,
Riga% ( 0 ) ,
Previsto ( 0 ) ,
Deviazione ( 0 ) ,
Cell Chi Square ( 0 ) ,
Col Cum ( 0 ) ,
Col Cum% ( 0 ) ,
Fila Cum ( 0 ) ,
Riga Cum% ( 0 )
) ,
Trama di mosaico ( 0 ) ,
test ( 0 ) ,
Inserisci nella tabella dati
) << chiudi la finestra ()) << ottenere come matrice << chiudi la finestra () ;
Forma ( c `, 4 , 1 ) ; // solo una risagoma per essere comparabile qui con il vettore di riepilogo
) ;
// Confrontare!
Scrivi ( "Continenza, tutto lì =" , c_counts ( dt1 ) , ", Manca uno =" , c_counts ( dt2 ) , "\! R" , "Riassumi, tutto lì =" , s_counts ( dt1 ) , ", Manca uno =" , s_counts ( dt2 )) ;