反復 t 検定からの p 値を含む要約テーブルの生成1つの参照グループと比較したペアワイズt検定の平均値とp値の要約/ピボットテーブルを自動的に生成するスクリプトを探しています。 JMP17を使用しています。
以下のデータ テーブルには、行に参照となる SubjectID があるかどうかを示す、SubjectId、測定された BMI、測定された VO2max、年、および Reference の列があります。

私は平均値を使用して要約表(以下のような)を手動で生成し、片側 t 検定の p 値を手動で入力しています。

私は、非参照 SubjectID の BMI または VO2max が参照 SubjectID よりも高いかどうかを判断するために、各年の参照に対する各 SubjectID 間の t 検定の片側 p 値の結果に特に興味があります。これまでのところ、プールされた t 検定を手動で実行し、作成した要約表に p 値と平均を報告してきました。一意の SubjectID のリストを反復処理し、JSL を使用して説明された方法で実行されたこれらの統計を含む概要テーブルを生成する方法はありますか?さらに、概要統計を追加する一般化された方法 (たとえば、各分析の各 SubjectID に N) が役立つと思います。
自動化とスクリプト作成基本的なデータ分析とモデリングRe: 反復 t 検定からの p 値を含む要約テーブルの生成メインテーブルの値やレポートテーブルの新しい表示に対して何をしているのかわかりません。データを変換するために実行している手順を詳しく説明してください。
Re: 反復 t 検定からの p 値を含む要約テーブルの生成こんにちは@LinkageBee996 さん
私は@txnelsonに同意します。メインデータテーブルから手動で生成しているテーブルにどのように移動するのかを理解するのは困難です。データテーブルを再配置して、別の方法で編成した方が目的に適している可能性があります。これには、データを分割するか、現在の構造とは異なる方法でデータを結合する必要がある場合があります。
これについて言及する理由は、BY グループ変数を使用して分析を実行できる場合があり、レポート テーブルを右クリックして [結合データ テーブルの作成] を選択すると、分析結果をより大きなデータ テーブルで簡単に取得できるためです。 Big Class.jmp サンプル データを使用し、:sex を X 軸、:height を Y として、ANOVA Fit Y by X を実行することで、これがうまくいくかどうかを確認できます (メイク方法をよりよく確認するため)。結合されたデータ テーブルは機能します。BY 変数として :age を使用します)。 t 検定を実行し、目的の統計テーブルを右クリックして、[結合データ テーブルの作成] を選択します。
これを t 検定と一元配置分散分析の平均に対して行うと、これらのデータ テーブルを結合して、t 検定の p 値とともに各グループの平均値を得ることができます。最終的には次のようになります。これは、あなたが求めているものに沿ったものになるかもしれません。

もちろん、いつでも生成されたスクリプトをデータ テーブルに保存して、すべてを 1 つの作業スクリプトにまとめることができます。または、Workflow Builder レコーダーを使用すると、スクリプトを作成できます。 こちらを参照してください。
お役に立てれば、
DS
Re: 反復 t 検定からの p 値を含む要約テーブルの生成こんにちは@txnelsonと@SDF1 、リクエストを明確にし、範囲を少し絞ることができれば幸いです。私は@LinkageBee996と協力しているので、彼は私に説明を手伝ってほしいと頼んできました。
現在のワークフローは次のとおりです。
1) @LinkageBee996が共有したデータテーブルから始めます。話を単純化するために、年の列を無視し、BMI のみに焦点を当てます。
2) 単純な 2 サンプル t 検定を実行し、参照として「いいえ」とラベル付けされた各被験者 ID と、参照として「はい」とラベル付けされた被験者 ID (A1454) を合計 5 回比較します (私たちがこれを行う理由とダネットテストのようなことを行う理由)。現在、一方向プラットフォームの「Fit Y by X」の下のローカル データ フィルターを使用して、これを 1 つずつ実行しています。
3) 現在、t 検定の結果 (p 値など) は手動で空のファイル (CSV または JMP テーブル) に転写されます。一度に 1 つのテストを実行するため、「データ テーブルに作成」を使用することは現実的ではありません。比較するデータ テーブルの数が多くなり、その後 1 つのデータ テーブルに結合する必要があるからです。
テストする可能性のある新しいサブジェクト ID に対する将来の保証となる、分析のこの部分を自動化したいと考えています。そのため、スクリプトは (最も意味のある順序で) 以下を実行する必要があります。 Python や他のソフトウェアで同様の分析を行うと、私の頭の中で理にかなっているのは次のとおりです。
1.「非参照」ID のリストを作成します。
2.各非参照 ID について、一元配置分析と 2 サンプル t 検定を実行し、参照として「はい」とラベル付けされた被験者 ID と比較します (そして、次のいずれかが常に存在すると仮定します)これら)
3. t 検定の結果をデータ テーブルに保存します。ここで 1 つの注意: 「データ テーブルに作成」および「結合データ テーブルを作成」のデフォルト形式では、比較のメタデータの一部が保存されません。たとえば、列ヘッダー (X は件名 ID、Y はBMI) ですが、分析の t 検定結果 UI の上部に表示される X の 2 つの値がどのようなものであるかはわかりません (「A1454-B8565」)。私たちはこの情報を取得したいと考えています。あなたは 2 つのものを比較していますが、比較している 2 つのものは何ですか?
4. データセット内のすべての比較のすべての t 検定結果を 1 つのデータ テーブルに結合します。そこから先は、データを最も有用な形式に変換するためにおそらく理解できるデータ操作の問題になります。
これによりさらに明確になることを願っていますが、この点に関してまだ曖昧な点がある場合はお知らせください。
Re: 反復 t 検定からの p 値を含む要約テーブルの生成こんにちは@Moser_stefanと@LinkageBee996 、
あなたが何をしようとしているのか、よりよく理解できました。以下にいくつかの考えを示します。
1. あなたの説明に基づくと、ANOVA 分析で BY 変数を利用してから結合データ テーブルを作成できるように、データ テーブルを再構築することが有益であると考えられます。データテーブルを再フォーマットする方法について少し考える必要があるかもしれませんが、それは価値があるかもしれないと思います。データ テーブルが多数存在する場合でも、いつでも結合を実行できます。そして最終的にそれらを 1 つのデータ テーブルに結合します。
2. 特に将来のデータセットを使用して分析を繰り返す場合、このようなプロセスを自動化することは素晴らしいアイデアだと思います。その点で、時間をかけて自分で JSL コーディングを学ぶことを強くお勧めします。この種のことに関しては、誰もが独自のニーズを持っています。組織に利益をもたらすために JSL を学ぶことができれば、想像よりもずっと早く前進できるでしょう。 JMP の問題に対する解決策をスクリプト化すると、作業が楽になり、結果が得られるまでの時間が大幅に短縮されます。特にオンラインのディスカッション フォーラムだけでなく、 ここにも有益な情報がたくさんあります。最新のスクリプト ガイド PDF を含む、多くの優れた JMP ドキュメントをここからダウンロードできます。さらに、[ヘルプ] > [スクリプト インデックス] には、スクリプト インデックスもあります。前に述べたように、コーディングやスクリプト作成が初めての場合は、必要なスクリプトを生成してくれるワークフロー ビルダーの使用を検討してください。そうは言っても、作業をコーディングする際に、より柔軟に制御できるように、自分で学習することをお勧めします。
3. 実際のデータ テーブルを使用せずに (機密情報を保護するために匿名化されている場合でも)、一般的に機能する他の人用のスクリプトを生成することは非常に困難です。つまり、「すべての」状況下でのことです (もちろん何もありません)。実際にはあらゆる状況下で機能しますが、重要なのは、それを一般化できるようにすることです。他の人のためにコードを書く場合は、分析やグループ化結果などへのアプローチ方法が変わるため、作業しているデータ テーブルとテーブル内のデータの構造に大きく依存します。
これが実際にあなたが探している答えではないことは承知していますが、データの再構築や JSL の学習にある程度の時間を投資すれば、費やした労力をはるかに上回る成果が得られることがわかると思います。
幸運を!、
DS
Re: 反復 t 検定からの p 値を含む要約テーブルの生成@SDF1 さん、ご返信ありがとうございます。 JSL の道は理にかなっています。私にはある程度の経験がありますが、確かに専門家ではないため、ここでスキルを伸ばす良い機会です。いずれにせよ、この問題を解決するための潜在的な道筋についての視点を持つことは、いくつかのオプションが何であるかを理解するのに役立ちます。
「by」関数をどのように使用できるかどうかを確認するのに苦労していることの 1 つは、主に、各比較で再利用したいデータのグループ (参照データセット) が 1 つと、グループ (非参照データセット) が 1 つあるためです。 )「で」分割する必要があります。これが機能することを確認する唯一の方法は、比較ごとに参照データセットを複製し、それに何らかの一意の変数 (「比較」列など) を与える場合です。おそらくそれはうまくいくでしょう...生データテーブル内のデータを複製することで他の問題やリスクが発生するかどうかを考える必要があるだけです。
そうですね、確かに私たちに検討の材料を与えていただきましたし、回答に時間を割いていただいたことに感謝しています。私たちは、思いついた解決策を必ずフォローアップします。
Re: 反復 t 検定からの p 値を含む要約テーブルの生成こんにちは@Moser_stefanと@LinkageBee996 、
喜んでお手伝いさせていただきます。また、データの構造を理解することで、BY 変数が少し難しい理由が少し理解できたように思います。私の考え/意図どおりに動作させるには、データのかなりの再構築が必要になる可能性があります。
代わりに、Subject ID 列に基づいてデータのサブセットを取得し、場合によっては Reference 列も使用することをお勧めします。次に、サブセット データ テーブルの参照 ID と被験者 ID のそれぞれに対して t 検定分析を実行します。次に、[データ テーブルに作成] を使用し、列に基づいて結果のデータ テーブルを結合します (たとえば、データ テーブルに作成の結果の列 1)。これは、データの再構築にあまり時間を費やすことなく、現在のデータ形式からソリューションに移行する最も迅速な方法である可能性があります。
これに関して、ソース列 (件名 ID など) といくつかのスクリプトを備えた模擬データ テーブル (添付) を作成しました。右クリックして [編集] を選択することでスクリプトを調べることができますが、実行することもできます。ソース A または B ごとにグループ化してスクリプトを実行し、2 つのデータ テーブルを結合して最終的なデータ テーブルを作成する最後のスクリプトを実行します。あなたの説明からすると、このようなことをしたいようです。少なくとも、スクリプトが役に立ち、特定のニーズに対処するための出発点となることを願っています。
お役に立てれば!、
DS
Re: 反復 t 検定からの p 値を含む要約テーブルの生成こんにちは@Moser_stefan さん
データの収集と分析を自動化できたと聞いてうれしいです。このような種類のタスクを完了すると、長期的には時間を大幅に節約できるため、常に非常に役立ちます。
すごい仕事!、
DS