新しいデータシートを作成し、JSL で値をコピーする<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは
私は50個の数字を持つデータセットを持っています。 データセットの平均を計算し、その平均値を別の新しいデータシート「Summary」に配置したいと考えています。 繰り返しますが、50 個の数値の合計を計算し、同じ新しいデータシート "Summary" に配置します。 これらの平均値と合計値を新しいデータシート「概要」に配置する方法を教えてもらえますか?
ありがとう、
Re: 新しいデータシートを作成し、JSL で値をそこにコピーする
JSL スクリプト作成を手伝ってくれてありがとう...あなたのスキルは高く評価されています!
Re: 新しいデータシートを作成し、JSL で値をそこにコピーする一部のサンプルでの繰り返しが気にならない場合は、TABLES の下に、ランダムなサンプルを生成する SUBSET コマンドがあります。
Subset( サンプルサイズ( 10 ) )
これにより、反復ごとにランダムな 10 が生成されます。
各グループの集計については、STACK COMMAND を使用して、列 (サンプリング グループ) 名を保持しながらすべてのデータを収集し、集計またはサンプル グループごとの集計を適用できます。
私もスクリプトでそれらすべてを提供したいのですが、私のスクリプトは非常に遅いです。後かもしれません..
MS さん、いつものように、優れたクリーン スクリプトです。
バリー
Re: 新しいデータシートを作成し、JSL で値をそこにコピーするすみません、分数を反転させました。 それは読むべきです
分数= k / N 行( dt ) ;
この分数 (0 と 1 の間の数値) が計算されるのは、ランダム選択で分数引数が必要なためです。
これは、各サブサンプルも出力テーブルに入れるバージョンです。 平均列と SD 列の後に、反復ごとにランダムに選択された 10 個のデータを含む 10 個の列が表示されます。
dt =データ表( "データ" ) ;
k = 10 ; //サンプルサイズを設定
n = 100 ; //繰り返し回数を設定
分数= k / N 行( dt ) ;
メートル= J ( n 、 2 + k ) ; //手段と SD を保持するためのマトリックスを開始します
//ループ: ランダムなサブセットを n 回作成します
為に(私= 1 、私<= n 、私++、
dt <<ランダムに選択(分数) ;
メートル[私、 1 ] =平均( dt :データ[ dt <<選択した行を取得する] ) ;
メートル[私、 2 ] =標準偏差( dt :データ[ dt <<選択した行を取得する] ) ;
メートル[私、 3 :: 2 + k ] =転置( dt :データ[ dt <<選択した行を取得する])) ;
) ;
//データを新しいテーブルに移動
dt2 =テーブルとして(メートル) ;
dt2 <<セット名( 「要約データ」 ) ;
桁( dt2 、 1 ) <<セット名( "平均" ) ;
桁( dt2 、 2 ) <<セット名( 「標準偏差」 ) ;
Re: 新しいデータシートを作成し、JSL で値をそこにコピーする
そして、平均とSTD Devからの10個の値のサブセットを見たい場合は毎回。計算されますが、そのオプションを使用できますか?
Re: 新しいデータシートを作成し、JSL で値をそこにコピーするはい。最後のシートを取得しましたが、分数ラインは何をしますか? これで無作為標本の式が作成されますか?
Re: 新しいデータシートを作成し、JSL で値をそこにコピーするスクリプトを書くときにそのファイルを使用しました。 テキスト ファイルの値を新しい JMP テーブルに貼り付け (JMP 内から開くこともできます)、ファイルの名前を「untutled」から「Data」に変更し、列に「Data」という名前を付けました。 再試行!
Re: 新しいデータシートを作成し、JSL で値をそこにコピーする行 dt2 =テーブルとして(メートル) ;テーブルを作成します。 あなたのログは何と言っていますか?
ここのスクリプトは、「Data」という名前のテーブルと、「Data」という名前のデータを含む列があることを前提としています。
Re: 新しいデータシートを作成し、JSL で値をそこにコピーするこのtxtファイルについて教えてください。 申し訳ありませんが、私はJSLにあまり慣れていません。
Re: 新しいデータシートを作成し、JSL で値をそこにコピーするどういうわけか、平均と標準偏差を含む最終テーブルを見ることができませんでした..どこで作成されましたか?
Re: 新しいデータシートを作成し、JSL で値をそこにコピーするこれが1つの方法です。 ループは、最後にデータテーブルに変換される行列をインクリメンタルに埋めます。
dt =データ表( "データ" ) ;
k = 10 ; //サンプルサイズを設定
n = 100 ; //繰り返し回数を設定
分数= 1 - k / N 行( dt ) ;
メートル= J ( n 、 2 ) ; //手段と SD を保持するためのマトリックスを開始します
//ループ: ランダムなサブセットを n 回作成します
為に(私= 1 、私<= n 、私++、
dt <<ランダムに選択(分数) ;
メートル[私、 1 ] =平均( dt :データ[ dt <<選択した行を取得する] ) ;
メートル[私、 2 ] =標準偏差( dt :データ[ dt <<選択した行を取得する] ) ;
) ;
//データを新しいテーブルに移動
dt2 =テーブルとして(メートル) ;
dt2 <<セット名( 「要約データ」 ) ;
桁( dt2 、 1 ) <<セット名( "平均" ) ;
桁( dt2 、 2 ) <<セット名( 「標準偏差」 ) ;
Re: 新しいデータシートを作成し、JSL で値をそこにコピーするはい、10 のサンプルを作成する方法を知りたいのですが、これらの 10 のサンプルを複数回 (たとえば 100 以上) 作成する場合、ループで記述する必要がありますか? ここで loop を使用して 10 個のサンプルを複数回作成するにはどうすればよいですか?
Re: 新しいデータシートを作成し、JSL で値をそこにコピーする私はあなたの2番目の投稿を見ていました-それは同じ考えですが、10個のサンプルを列に集めて新しいテーブルを作成し、一度だけ要約を作成します.他の誰もこれに答えない場合は、請求書を支払う人々の世話をした後、今日遅くにこれに答えます(予想ロット) )
Re: 新しいデータシートを作成し、JSL で値をそこにコピーする実際、私はこれをやりたかったのです:-私はこの質問をフォーラムにも投稿しました..
1000 個の変数、連続数を含むデータ セットがあります。 データセットからランダムなサブセットを取得し、サブセットの平均と標準偏差を計算して、別の Excel ファイル "B" に配置したいと考えています。 このプロセスを繰り返したいと思います-1000個の変数を持つ元のデータセットからサイズ10のサブセットを取得し、平均と標準偏差を計算して同じExcelファイル「B」に配置するプロセス。 最終的な Excel シートには、すべての平均値と標準偏差が含まれます。
あなたが私にくれたスクリプトが、上記の質問で新しいシートを作成するのに役立つかどうかはよくわかりません..
サンプルデータシートを添付しました..
Re: 新しいデータシートを作成し、JSL で値をそこにコピーする本当にこれを JSL で行うつもりですか? つまり、要約を生成するために実行できるスクリプトを作成するつもりですか? これをインタラクティブに 1 回だけ実行したい場合は?私は両方に答えます:
インタラクティブに:
データ テーブルを作成します。この場合、RawData と呼びます。
[テーブル] >> [集計] をクリックします。
[データ]、[平均] の順にクリックし、出力領域にドラッグします。
[合計] をクリックして、出力領域にドラッグします。
レポートの赤い三角形をクリック >> データ テーブルにするか、レポートを直接使用 (カット アンド ペースト)
JSLの使用
Make Into Data Table を使用して上記を作成した後、テーブルに名前を付けます (ここでは概要レポートが使用されます)。
赤い三角形をクリック >> スクリプトのコピー
新しいスクリプトを作成します (ファイル>>新規>>スクリプト)
新しくコピーしたスクリプトを新しいスクリプト ウィンドウに貼り付けます。
以前の概要レポートを閉じます
作成したスクリプトを実行します
概要レポートがポップアップ表示されます
ランダムデータで作成した例:
脚本:
New Table( "要約レポート",
行を追加( 1 ),
新しいスクリプト(
"ソース"、
(Data Table( "RawData" ) << Tabulate(
テーブルを追加(
Column Table( Statistics( Mean, Sum ), Analysis Columns( :Data ) )
)
)) << データテーブルにする
)、
New Column( "平均値(データ)",
数値、
連続、
Format( "ベスト", 5 ),
設定値( [171.936] )
)、
New Column( "Sum(データ)",
数値、
連続、
Format( "ベスト", 5 ),
設定値( [8596.8] )
)
)
サンプルファイルが必要な場合は、私にメッセージを送ってください。
バリー