Excelから特定のデータを読み取る<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
私は JMP スクリプトの初心者です。 したがって、誰かがこの基本的なスクリプト手順を手伝ってくれると本当に感謝します。
上記のデータを次のように読み替えたいと思います。
ラボ A (またはラボ
のテスト 1 (またはテスト 2) データを読み取り、例として次の形式に入力します。
ラボ A テスト 1 のデータ = [2, 3, 4, 2, 1]
ラボ A テスト 2 のデータ = [1, 3, 2, 4, 6]
等々。
データ (平均値、標準偏差など) を分析するためのスクリプトをさらに作成できるように、スクリプト ウィンドウ自体に上記のデータを表示することは可能ですか?
よろしくお願いします。
Re: Excelから特定のデータを読み取るしたがって、明確にしておきますが、Excel からデータを取得することに問題はありません。 つまり、すでに JMP データテーブルに存在していますよね? そうでない場合は、ワークブックにデータベースであるかのようにアクセスし、SQL クエリを使用して必要なデータのグループを分離することを検討してください。
データがすでに JMP にあり、上に示したように配置されている場合、なぜ表作成を使用してグループごとに必要な結果を取得できるのでしょうか?
Re: Excelから特定のデータを読み取るこれは決してベストプラクティスではありません。 これをより多くのファイルで一般的に使用すると、堅牢性に疑問が生じる可能性があります。
これを複数回繰り返す必要がある場合は、ぜひ書籍「Jump into jmp scripting」を入手してください。 ほとんどの学術図書館にはそれがあります。
それ以外の場合は、これを試してください。
デフォルトの名前はここにあります( 1 ) ;
// データソースを定義します
dt =現在のデータテーブル() ;
//すべてのテストが 1 つの列に収まるようにデータをスタックします
dtstack = dt <<スタック(
列( :テスト1 、 :テスト2 ) 、 // これにすべてのテスト列を追加します
ソースラベル列( "ラベル" ) 、
積み上げデータ列( "データ" )
) ;
// Lab の一意の値を取得します
研究室=連想配列( dtstack :研究室) <<鍵を取得する;
// テスト用に一意の値を取得します
テスト=連想配列( dtstack :ラベル) <<鍵を取得する;
// 結果テーブルを定義する
dt1 =新しいテーブル( "結果" 、
新しい列( 「ラボ」 、キャラクター、名目上の) 、
新しい列( "テスト" 、キャラクター、名目上の) 、
新しい列( "平均" ) 、
新しい列( "SD" ) 、
) ;
// スタック データ テーブル内のラボとテストをループして結果を抽出します。
のために(私= 1 、私<= N 個のアイテム(研究室) 、私++、
のために(それ= 1 、それ<= N 個のアイテム(テスト) 、それ++、
研究室の行= dtstack <<行を取得します。 (そして( dtstack :研究室==研究室[私] 、 dtstack :ラベル==テスト[それ】 ) ) ;
dt1 <<行を追加する( 1 ) ;
dt1 :研究室[ N列( dt1 )] =研究室[私] ;
dt1 :テスト[ N列( dt1 )] =テスト[それ] ;
dt1 :平均[ N列( dt1 )] =平均ラボテスト1 =平均( dtstack :データ[研究室の行] ) ;
dt1 : SD [ N列( dt1 )] = SDlabtest1 =標準開発( dtstack :データ[研究室の行】 ) ;
)
) ;
// 結果テーブルを閉じて Excel として保存します
近い( dt1 、保存( 「D:\マイドキュメント\results.xlsx」 ) ) ;
Re: Excelから特定のデータを読み取るこんにちは、ロンさん
どうもありがとう。 まさに私が探していたものです。
もう 1 つの質問ですが、ラボ A/ラボ B の両方とテスト 1/テスト 2 の両方の結果を計算するループを作成できますか? Matlab でそれを行うのは簡単ですが、前述したように、私はまだ JMP でスクリプトを書くことを学んでいます。 また、可能であれば最終結果を Excel に保存またはエクスポートするとよいでしょう。
改めてご協力をお願いいたします。
Re: Excelから特定のデータを読み取るこんにちはラジャンビスタ1 、
Jim の言うとおり、結果を生成するには jmp の組み込みプラットフォームを使用する方がはるかに良いです。
それ以外の場合、これは別のオプションです。
デフォルトの名前はここにあります( 1 ) ;
dt =現在のデータテーブル() ;
// 選択よりも堅牢です
ラボアローズ= dt <<行を取得します。 ( dt :研究室== 「あ」 ) ;
ラボブラウズ= dt <<行を取得します。 ( dt :研究室== 「B」 ) ;
見せる(ラボアローズ、ラボブラウズ) ;
// 各テストのラボ A の値を取得します
ラボ A テスト 1 のデータ= :テスト1 [ラボアローズ】 ;
ラボ A テスト 2 のデータ= :テスト2 [ラボアローズ】 ;
見せる(ラボ A テスト 2 のデータ、ラボ A テスト 1 のデータ) ;
// 必要な値を抽出し、後で使用する名前を付けます
MeanlabAtest1 =平均(ラボ A テスト 1 のデータ) ;
SDlabAtest1 =標準開発(ラボ A テスト 1 のデータ) ;
MeanlabAtest2 =平均(ラボ A テスト 2 のデータ) ;
SDlabAtest2 =標準開発(ラボ A テスト 2 のデータ) ;
// ログ内の数値を表示するだけです。
見せる( MeanlabAtest1 、 SDlabAtest1 、 MeanlabAtest2 、 SDlabAtest2 ) ;
Re: Excelから特定のデータを読み取るこれは、データテーブルを取得し、質問で指定した 2 つの変数を生成するスクリプトです。
デフォルトの名前はここにあります( 1 ) ;
dt =現在のデータテーブル() ;
dt <<場所を選択してください( :研究室== 「あ」 ) ;
ラボ A テスト 1 のデータ= :テスト1[dt <<選択された行を取得する】 ;
ラボ A テスト 2 のデータ= :テスト 2[dt <<選択された行を取得する] ;
見せる( ラボ A テスト 1 のデータ、ラボ A テストのデータ 2) ;
私が興味があるのは、上記のデータをスクリプト ウィンドウに入れることについての質問です。それをどこへ行くのかわかりませんが?確かに、R や Python で行う必要があるのと同じように、JMP でスクリプトを記述することはできますが、JMP でほとんどの分析を行うのは、インタラクティブなアイテムを使用するだけの方がはるかに簡単です。データをスクリプトに入力して、平均値、標準偏差などのデータを分析できるようにしたいと述べています。集計プラットフォームまたは分布プラットフォームを使用してそのような結果を取得するには、分析する列を指定するだけでよいようです。本当にやるべきだ。

