creando un nuovo foglio dati e copiando i valori in esso in JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao
ho un set di dati con 50 numeri. Voglio calcolare la media del set di dati e inserire il valore medio in un nuovo foglio dati diverso "Riepilogo". Ancora una volta voglio calcolare la somma dei 50 numeri e inserirla nello stesso nuovo foglio dati "Riepilogo". Qualcuno può aiutarmi a inserire questi valori medi e sommari nel nuovo foglio dati "Riepilogo"?
Grazie,
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSL
Grazie a tutti per avermi aiutato nello scripting JSL... le vostre abilità sono molto apprezzate!
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLSe non ti interessano alcune ripetizioni in alcuni campioni, c'è un comando SUBSET sotto TABLES che produce campioni casuali:
Sottoinsieme( Dimensione del campione( 10 ) )
che dovrebbe produrre il 10 casuale per ogni iterazione.
Per quanto riguarda il riepilogo per ciascun gruppo, è possibile utilizzare STACK COMMAND per raccogliere tutti i dati preservando i nomi delle colonne (gruppo di campionamento), quindi applicare la tabulazione o il riepilogo per gruppo di campioni.
mi piacerebbe anche dare tutto questo in una sceneggiatura, ma la mia sceneggiatura è molto lenta.forse più tardi..
MS, eccellente scripting pulito, come sempre.
Berry
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLScusa, ho invertito la frazione. Dovrebbe leggere
frazione = K / N righe ( dt ) ;
Questa frazione (un numero compreso tra 0 e 1) viene calcolata solo perché la selezione casuale richiede un argomento frazione.
Ecco una versione che inserisce anche ogni sottocampione nella tabella di output. Dopo le colonne media e SD dovresti vedere dieci colonne con i dieci dati scelti casualmente per ogni iterazione.
dt = Tabella dati ( "Dati" ) ;
K = 10 ; //Imposta la dimensione del campione
n = 100 ; //Imposta il numero di iterazioni
frazione = K / N righe ( dt ) ;
m = J ( n , 2 + K ) ; //Inizia una matrice per contenere medie e DS
//Loop: crea un sottoinsieme casuale n volte
Per ( io = 1 , io <= n , io ++,
dt << selezionare a caso ( frazione ) ;
m [ io , 1 ] = Significare ( dt : Dati [ dt << ottenere righe selezionate ] ) ;
m [ io , 2 ] = Sviluppo standard ( dt : Dati [ dt << ottenere righe selezionate ] ) ;
m [ io , 3 :: 2 + K ] = trasporre ( dt : Dati [ dt << ottenere righe selezionate ]) ;
) ;
//Sposta i dati nella nuova tabella
dt2 = Come tavolo ( m ) ;
dt2 << imposta nome ( "Dati di riepilogo" ) ;
Colonna ( dt2 , 1 ) << imposta nome ( "Significare" ) ;
Colonna ( dt2 , 2 ) << imposta nome ( "StdDev" ) ;
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSL
E ogni volta se voglio vedere il sottoinsieme di 10 valori da cui media e STD Dev. è calcolato, posso avere questa opzione?
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLsì. Ho il foglio finale, ma cosa fa la linea di frazione? Questo crea una formula per il campione casuale?
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLHo usato quel file durante la scrittura della sceneggiatura. Ho appena incollato i valori nel file di testo in una nuova tabella JMP (puoi anche aprirla da JMP), rinominato il file da "untitled" a "Data" e ho dato alla colonna il nome "Data". Riprova!
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLLa linea dt2 = Come tavolo ( m ) ; crea la tabella. Cosa dice il tuo registro?
Lo script qui presuppone che tu abbia una tabella chiamata "Dati" e una colonna con i tuoi dati anche con il nome "Dati".
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLpuoi per favore farmi capire con questo file txt. Scusa, ma non sono molto abituato a JSL,
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLin qualche modo non riuscivo a vedere il tavolo finale con medie e deviazioni standard..dove viene creato?
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLEcco un modo. Il ciclo riempie in modo incrementale una matrice che viene convertita in un datatable alla fine.
dt = Tabella dati ( "Dati" ) ;
K = 10 ; //Imposta la dimensione del campione
n = 100 ; //Imposta il numero di iterazioni
frazione = 1 - K / N righe ( dt ) ;
m = J ( n , 2 ) ; //Inizia una matrice per contenere medie e SD
//Loop: crea un sottoinsieme casuale n volte
Per ( io = 1 , io <= n , io ++,
dt << selezionare a caso ( frazione ) ;
m [ io , 1 ] = Significare ( dt : Dati [ dt << ottenere righe selezionate ] ) ;
m [ io , 2 ] = Sviluppo standard ( dt : Dati [ dt << ottenere righe selezionate ] ) ;
) ;
//Sposta i dati nella nuova tabella
dt2 = Come tavolo ( m ) ;
dt2 << imposta nome ( "Dati di riepilogo" ) ;
Colonna ( dt2 , 1 ) << imposta nome ( "Significare" ) ;
Colonna ( dt2 , 2 ) << imposta nome ( "StdDev" ) ;
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLsì, voglio sapere come creare campioni di 10 e se dovessi creare questi campioni di 10 più volte (diciamo più di 100), devo scriverlo in un ciclo? Come posso utilizzare il loop qui per creare campioni di 10 più volte?
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLStavo guardando il tuo secondo post: è la stessa idea, ma creerei una nuova tabella raccogliendo i campioni di 10 in colonne, quindi produrrei un riepilogo solo una volta.se nessun altro risponde risponderò più tardi oggi dopo che mi sarò preso cura delle persone che pagano le mie bollette (un sacco di aspettative )
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLIn realtà, volevo fare questo:-ho postato anche questa domanda nel forum..
Ho un set di dati con 1000 variabili, numeri continui. Voglio prendere un sottoinsieme casuale dal set di dati e calcolare la media e la deviazione standard del sottoinsieme e inserirlo in un file excel separato "B". Voglio ripetere questo processo: prendere il sottoinsieme di dimensione 10 dal set di dati originale con 1000 variabili e calcolare la media e la deviazione standard e posizionarlo nello stesso file excel "B". Il foglio Excel finale conterrà tutte le medie e le deviazioni standard.
Non sono molto sicuro che lo script che mi hai fornito possa aiutare a creare un nuovo foglio nella domanda sopra..
ho allegato il mio foglio dati di esempio ..
Ri: creazione di un nuovo foglio dati e copia dei valori in esso in JSLIntendi davvero farlo in JSL, ovvero creare uno script che puoi eseguire per produrre il riepilogo? Se vuoi farlo solo una volta in modo interattivo?rispondo ad entrambi:
Interattivamente:
Crea la tua tabella dati - in questo caso la chiamo RawData,
Fare clic su Tabella >> Tabula
Fare clic su Dati, quindi su Media e trascinarlo nell'area di output
Fare clic su Somma e trascinarlo nell'area di output
Fai clic sul triangolo rosso del rapporto >> Trasforma in tabella dati o usa semplicemente il rapporto direttamente (taglia e incolla)
Utilizzo di JSL
Dopo aver creato quanto sopra utilizzando Trasforma in tabella dati, assegna un nome alla tabella (Qui viene utilizzato il rapporto di riepilogo)
Fare clic sul triangolo rosso >> Copia script
Crea un nuovo script (File>>Nuovo>>Script)
Incolla lo script appena copiato nella nuova finestra dello script
Chiudi il rapporto di riepilogo precedente
Esegui lo script che hai appena creato
Dovrebbe apparire il rapporto di riepilogo
Un esempio che ho fatto con dati casuali:
Sceneggiatura:
Nuova tabella( "Rapporto di riepilogo",
Aggiungi righe( 1 ),
Nuovo copione(
"Fonte",
(Tabella dati( "RawData" ) << Tabula(
Aggiungi tabella(
Tabella delle colonne (statistiche (media, somma), colonne di analisi (: dati))
)
)) << Trasforma in tabella dati
),
Nuova colonna ("Media (dati)",
Numerico,
Continuo,
Formato( "Migliore", 5 ),
Imposta valori( [171.936] )
),
Nuova colonna( "Somma(Dati)",
Numerico,
Continuo,
Formato( "Migliore", 5 ),
Imposta valori( [8596.8] )
)
)
Inviami un messaggio se vuoi i miei file di esempio.
Berry