Ajouter des matrices à partir d'une boucleJ'essaie de générer une matrice avec les scripts suivants et j'ai quelques questions :
1. afin d'obtenir correctement la « ligne », dois-je d'abord trier la colonne de fruits ? Existe-t-il une formule aléatoire pour choisir un seul nombre parmi « r » ?
2. J'ai besoin de la matrice "run" finale avec les informations furitName (la variable i) et ne soit qu'une seule matrice. Le script actuel que j'avais générerait 3 matrices d'exécution (en fonction des N éléments (fruitName))
3. Une fois que toutes les matrices d'exécution sont concaténées en une seule, existe-t-il un moyen de générer la matrice dans une table de données ?
AMOUR!
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( dt, fruitName = by( :fruit ) );
For( i = 1, i <= N Items( fruitName ), i++,
r = dt << get rows where( :fruit == fruitName[i] );
row = Random Integer( Max( r ) - Min( r ) );
/*show(r);
show(row);*/
runTime = 5;
run = [](0, 2);
For( j = 1, j <= runTime, j++,
row = Random Integer( Max( r ) - Min( r ) );
run |/= Matrix( {{j, dt:name( "price hi" )[row] - dt:price lo[row]}} );
);
Show( run );
);
Automatisation et scriptsRe : Ajouter des matrices à partir d'une boucleCette fonction peut être utile.

Re : Ajouter des matrices à partir d'une boucleVoici quelques façons de faire ce que je pense que vous cherchez
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( dt, fruitName = by( :fruit ) );
runTime = 5;
run = [](0, 2);
fruitList ={};
For( i = 1, i <= N Items( fruitName ), i++,
r = dt << get rows where( :fruit == fruitName[i] );
For( j = 1, j <= runTime, j++,
insert into(fruitList, fruitName[i]);
row = r[Random Integer( nrows(r))];
run |/= Matrix( {{j, dt:name( "price hi" )[row] - dt:price lo[row]}} );
);
);
dtNew = New Table("Random",
add rows(n rows(run)),
new column("Fruit", character,set each value(fruitList[Row()])),
new column("Delta", set each value(run[row(),2]))
);
// or
dtNew2 = dt << Subset(
Sample Size( runTime ),
Selected columns only( 0 ),
Stratify( :fruit )
);
dtNew2 << New Column( "Delta", set each value( :price hi - :price lo ) );
dtNew2 << delete columns( {"price hi", "price lo"} );