Conta il numero di zeri in una colonna (JSL)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Ho utilizzato la piattaforma di distribuzione per analizzare manualmente un set di dati, ma poiché dovrò ripetere ora sto cercando di creare uno script JSL per estrarre le misure più importanti. I dati si presentano così:
Punteggio modello
MODELLO1 3.54485
MODELLO2 2.36485
MODELLO1 5.38456
MODELLO2 2.14556
MODELLO1 0
MODELLO2 0,04856
Vorrei estrarre la media, lo std dev, ecc. ma vorrei anche sapere con quale frequenza il punteggio è zero per ciascun modello. Ho provato a utilizzare il riepilogo, la tabella e alcune funzioni in JSL. Posso realizzare tutto tranne la parte "conta zero". Posso ottenere questo numero manualmente creando la distribuzione e quindi facendo le opzioni dell'istogramma >> mostra i conteggi. Qualche idea su come farlo in JSL? Codice finora:
dt = Apri("C:\Desktop\Risultati.jmp);
dt << Riepilogo(
Gruppo( :Modello ),
Mediana( :punteggio ),
Punteggio medio ),
Std Dev( :score ),
Intervallo( :punteggio ),
);
Re: Conta il numero di zeri in una colonna (JSL)Grazie! Questo è molto più pulito.
Re: Conta il numero di zeri in una colonna (JSL)Ecco una versione leggermente semplificata che dovrebbe dare lo stesso risultato.
dt = Aprire ( "C:\Desktop\risultati1" || nome del file || ".jmp" ) ;
dt2 = dt << Riepilogo ( Gruppo ( : Modello ) , Mediano ( : punto ) , Significare ( : punto ) , Gamma ( : punto ) ) ;
dt2 << Elimina righe ( 2 ) << Nuova colonna ( "Numero zero" ,
Numerico ,
Continuo ,
Formato ( migliore ) ,
<< impostare ogni valore ( N righe ( dt << ottenere righe dove ( : punto == 0 & : Modello == "Modello 1" ) ) )
) ;
Re: Conta il numero di zeri in una colonna (JSL)Grazie! Sono sicuro che il codice seguente non è ottimale, ma sono stato in grado di incorporare il tuo codice per ottenere il risultato che volevo.
nomefile = ""; /*nome generale così posso ripetere per file diversi*/
dt = Open("C:\Desktop\results1" || nomefile || ".jmp");
conteggio_zero = 0;
per ogni riga(
if(:punteggio == 0 & :Modello == "Modello1", conteggio_zero++)
);
dt << Riepilogo(
Gruppo( :Modello ),
Mediana( :punteggio ),
Punteggio medio ),
Intervallo( :punteggio ),
);
dt2 = Tabella dati("risultati1" || nomefile || "Per (Modello)");
dt2 << Elimina righe(2); /*Voglio solo Model1 */
dt2 << Nuova colonna( "Num zeri",
Numerico,
Continuo,
Formato (migliore),
<
);
Re: Conta il numero di zeri in una colonna (JSL)Puoi usare il comando di riepilogo e vedere i conteggi raggruppandoli per punteggio:
Data Table("Untitled") << Summary(Group(:Score))
o in jsl potresti fare:
zero_count = 0;
for each row(
if(:score == 0, zero_count++)
);
show(zero_count);