複数のグループの列シャッフル<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />複数のサンプルを含むデータセットがあり、各サンプルには別々の行に 10 ~ 30 の測定値があります。 各サンプルの測定数に 1 からランダムな値を割り当てられるようにしたいと考えています。 Col Shuffle を使用してランダム化することはできますが、データを複数のテーブルにサブベットし、乱数で元のテーブルを更新する前に各サブセットに式を適用する必要があります。 これを 1 つの方程式で行う方法はありますか?
Re: 複数グループの Col シャッフルこれはうまくいきました、ありがとう!
Re: 複数グループの Col シャッフル次のようなことを試してください。
// テストテーブルを作成する
dt =新しいテーブル( 「サンプル測定」 、行の追加( 13 ) 、
新しい列( "サンプル" 、キャラクター、公称、設定値(
{ 「あ」 、 「あ」 、 「あ」 、 「あ」 、 「あ」 、 「B」 、 「B」 、 「B」 、 「C」 、 「C」 、 「C」 、 「C」 、 「C」 } ) ) 、
新しい列( "測定" 、数値、継続的、フォーマット( "最高" 、 12 ) 、
設定値( [ 65 、 76 、 23 、 43 、 67 、 65 、 546 、 34 、 64 、 76 、 32 、 67 、 88 】 )
) 、
) ;
// ランダムな列を追加します
dt <<新しい列( 「ランダムな値」 、数値、継続的、フォーマット( "最高" 、 12 ) 、
式(ランダムユニフォーム() ) ) ;
// 選別
dt <<選別(テーブルを置き換える、による( :サンプル、 :ランダム値)) ;
// シーケンス列を追加します
dt <<新しい列( "順序" 、数値、継続的な) ;
// シーケンス値を追加します
古い値= 「XYZZ」 ;
のために(私= 1 、私<=狭い( dt ) 、私++、
サンプル値= dt :サンプル[私】 ;
もし(サンプル値!=古い値、
古い値=サンプル値;
k = 1 ;
) ;
dt :順序[私】 = k ;
k ++;
) ;
Re: 複数グループの Col シャッフルここでは 2 つの列を想定し、1 つはサンプルという名前、もう 1 つは値という名前を付けました。
dt =現在のデータテーブル() ;
サンプル=連想配列( :サンプル) ;
dt <<選別(による( :サンプル) 、テーブルを置き換える) ;
のために(私= 1 、私<=ニテムス(サンプル) 、私++、
行= dt <<行を取得します。 ( :サンプル==サンプル[私]) ;
開始行=分(行) ;
末尾行=最大(行) ;
サンプル[私】 = :価値観[ランダムな整数(開始行、末尾行)] ;
) ;
見せる(サンプル);