<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho un set di dati con diversi campioni e ogni campione ha 10-30 misurazioni in righe separate. Voglio poter assegnare un valore casuale da 1 al numero di misurazioni per ciascun campione. Posso usare Col Shuffle per randomizzare, ma è necessario suddividere i dati in più tabelle e applicare una formula a ciascun sottoinsieme prima di aggiornare la tabella originale con i numeri casuali. C'è un metodo per farlo con un'equazione?
Questo ha funzionato grazie!
Prova qualcosa del genere:
// Crea una tabella di test
dt = Nuova tavola ( "Misure campione" , Aggiungi righe ( 13 ) ,
Nuova colonna ( "Campione" , Carattere , Nominale , Imposta i valori (
{ "UN" , "UN" , "UN" , "UN" , "UN" , "B" , "B" , "B" , "C" , "C" , "C" , "C" , "C" } ) ) ,
Nuova colonna ( "Misurazione" , Numerico , Continuo , Formato ( "Migliore" , 12 ) ,
Imposta i valori ( [ 65 , 76 , 23 , 43 , 67 , 65 , 546 , 34 , 64 , 76 , 32 , 67 , 88 ] )
) ,
) ;
// Aggiungi una colonna casuale
dt << Nuova colonna ( "Valore casuale" , Numerico , Continuo , Formato ( "Migliore" , 12 ) ,
Formula ( Uniforme casuale () ) ) ;
// ordinare
dt << ordinare ( sostituire la tabella , di ( : Campione , : Valore casuale )) ;
// Aggiunge una colonna di sequenza
dt << nuova colonna ( "Sequenza" , numerico , continuo ) ;
// Aggiunge valori di sequenza
vecchio_valore = "XYZZ" ;
per ( io = 1 , io <= nrows ( dt ) , io ++,
valore_campione = dt : campione [ io ] ;
Se ( valore_campione != vecchio_valore ,
vecchio_valore = valore_campione ;
K = 1 ;
) ;
dt : sequenza [ io ] = K ;
K ++;
) ;
Ho assunto 2 colonne, 1 campione denominato e 1 denominato Values.
dt = tabella dati corrente () ;
campioni = Array associativo ( : Campione ) ;
dt << Ordinare ( Di ( : Campione ) , sostituire la tabella ) ;
per ( io = 1 , io <= Articoli ( campioni ) , io ++,
righe = dt << ottenere righe dove ( : Campione == campioni [ io ]) ;
riga_iniziale = min ( righe ) ;
riga_fine = max ( righe ) ;
campioni [ io ] = : I valori [ Intero casuale ( riga_iniziale , riga_fine )] ;
) ;
mostrare ( campioni );