Matrizen aus einer Schleife anhängenIch versuche eine Matrix mit den folgenden Skripten zu erstellen und habe ein paar Fragen:
1. Um „Reihe“ richtig zu erhalten, muss ich zuerst die Fruchtspalte sortieren? Gibt es eine Zufallsformel, um nur eine Zahl aus „r“ auszuwählen?
2. Ich brauche die endgültige „Run“-Matrix mit der furitName-Info (der i-Variablen) und muss nur eine Matrix sein. Das aktuelle Skript, das ich hatte, würde 3 Laufmatrizen generieren (abhängig von den N Elementen (Fruchtname)).
3. Gibt es eine Möglichkeit, die Matrix in einer Datentabelle auszugeben, sobald alle Laufmatrizen zu einer verkettet sind?
LIEBE!
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 );
);
Automatisierung und SkripterstellungBetreff: Matrizen aus einer Schleife anhängenDiese Funktion könnte nützlich sein.

Betreff: Matrizen aus einer Schleife anhängenHier sind ein paar Möglichkeiten, das zu tun, was Sie meiner Meinung nach suchen
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"} );