<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe einen Datensatz mit mehreren Proben und jede Probe enthält 10–30 Messungen in separaten Zeilen. Ich möchte der Anzahl der Messungen für jede Probe einen Zufallswert von 1 zuweisen können. Ich kann Col Shuffle zum Randomisieren verwenden, aber dafür müssen die Daten in mehrere Tabellen aufgeteilt und auf jede Teilmenge eine Formel angewendet werden, bevor die Originaltabelle mit den randomisierten Zahlen aktualisiert wird. Gibt es eine Methode, dies mit einer Gleichung zu tun?
Das hat funktioniert, danke!
Versuchen Sie etwas wie Folgendes:
// Eine Testtabelle erstellen
dt = Neuer Tisch ( „Beispielmessungen“ , Zeilen hinzufügen ( 13 ) ,
Neue Spalte ( "Probe" , Charakter , Nominell , Werte festlegen (
{ "A" , "A" , "A" , "A" , "A" , "B" , "B" , "B" , "C" , "C" , "C" , "C" , "C" } ) ) ,
Neue Spalte ( "Messung" , Numerisch , Kontinuierlich , Format ( "Am besten" , 12 ) ,
Werte festlegen ( [ 65 , 76 , 23 , 43 , 67 , 65 , 546 , 34 , 64 , 76 , 32 , 67 , 88 ] )
) ,
) ;
// Eine zufällige Spalte hinzufügen
dt << Neue Spalte ( „Zufälliger Wert“ , Numerisch , Kontinuierlich , Format ( "Am besten" , 12 ) ,
Formel ( Zufällige Uniform () ) ) ;
// Sortieren
dt << Sortieren ( Tisch ersetzen , von ( : Probe , : Zufälliger Wert )) ;
// Eine Sequenzspalte hinzufügen
dt << neue Kolumne ( "Reihenfolge" , numerisch , kontinuierlich ) ;
// Sequenzwerte hinzufügen
alter_Wert = „XYZZ“ ;
für ( ich = 1 , ich <= nrows ( dt ) , ich ++,
Beispielwert = dt : Probe [ ich ] ;
Wenn ( Beispielwert != alter_Wert ,
alter_Wert = Beispielwert ;
k = 1 ;
) ;
dt : Reihenfolge [ ich ] = k ;
k ++;
) ;
Ich habe 2 Spalten angenommen, 1 benannte Probe und 1 benannte Werte.
dt = aktuelle Datentabelle () ;
Proben = Assoziatives Array ( : Probe ) ;
dt << Sortieren ( Von ( : Probe ) , Tisch ersetzen ) ;
für ( ich = 1 , ich <= Nitems ( Proben ) , ich ++,
Reihen = dt << Holen Sie sich Zeilen wo ( : Probe == Proben [ ich ]) ;
start_row = Mindest ( Reihen ) ;
end_row = max ( Reihen ) ;
Proben [ ich ] = : Werte [ Zufällige ganze Zahl ( start_row , end_row )] ;
) ;
zeigen ( Proben );