<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo un conjunto de datos con varias muestras y cada muestra tiene de 10 a 30 mediciones en filas separadas. Quiero poder asignar un valor aleatorio de 1 al número de mediciones para cada muestra. Puedo usar Col Shuffle para aleatorizar, pero requiere subapostar los datos en varias tablas y aplicar una fórmula a cada subconjunto antes de actualizar la tabla original con los números aleatorios. ¿Hay un método para hacer esto con una ecuación?
Prueba algo como esto:
// Crear una tabla de prueba
dt = Nueva tabla ( "Medidas de muestra" , Agregar filas ( 13 ) ,
Nueva columna ( "Muestra" , Personaje , Nominal , Establecer valores (
{ "A" , "A" , "A" , "A" , "A" , "B" , "B" , "B" , "C" , "C" , "C" , "C" , "C" } ) ) ,
Nueva columna ( "Medición" , Numérico , Continuo , Formato ( "Mejor" , 12 ) ,
Establecer valores ( [ sesenta y cinco , 76 , 23 , 43 , 67 , sesenta y cinco , 546 , 34 , 64 , 76 , 32 , 67 , 88 ] )
) ,
) ;
// Agregar una columna aleatoria
dt << Nueva columna ( "Valor aleatorio" , Numérico , Continuo , Formato ( "Mejor" , 12 ) ,
Fórmula ( Uniforme aleatorio () ) ) ;
// clasificar
dt << clasificar ( reemplazar mesa , por ( : Muestra , : Valor aleatorio )) ;
// Agregar una columna de secuencia
dt << nueva columna ( "Secuencia" , numérico , continuo ) ;
// Agregar valores de secuencia
valor antiguo = "XYZZ" ;
por ( i = 1 , i <= filas ( dt ) , i ++,
valor_de_muestra = dt : muestra [ i ] ;
si ( valor_de_muestra != valor antiguo ,
valor antiguo = valor_de_muestra ;
k = 1 ;
) ;
dt : secuencia [ i ] = k ;
k ++;
) ;
Asumí 2 columnas, 1 muestra con nombre y 1 valores con nombre.
dt = tabla de datos actual () ;
muestras = matriz asociativa ( : Muestra ) ;
dt << Clasificar ( Por ( : Muestra ) , reemplazar mesa ) ;
por ( i = 1 , i <= Nitems ( muestras ) , i ++,
filas = dt << obtener filas donde ( : Muestra == muestras [ i ]) ;
fila_inicio = min ( filas ) ;
final_fila = máximo ( filas ) ;
muestras [ i ] = : Valores [ Entero aleatorio ( fila_inicio , final_fila )] ;
) ;
mostrar ( muestras );