dt2からの値の一意のリストに基づいてdt1から行を選択して除外する方法は?そのため、dt1 を使用して t 検定分析 (ChartID による Chamber による平均) を実行し、すべての pvalue の結合データ テーブル dt2 を作成しています。 これを p<=0.05 の行に絞り込み、これらの低い pValues の個別の一意のリストを作成し、それを使用して低い PValues だけでグラフを再プロットします。
元の dt1 にリンクしようとして、ちょっと行き詰まっています。 機能していないように見える最後の選択。
また、ソース dt を選択、除外、結合するためのより良い方法がある場合は、お知らせください。 要約、連想配列を試しました。
//creating the table of pValues
dt2 = Report( ow[1] )["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt2 << set name( "pValue PairWise by Channel Tukey")
//select and exclude high pVals
dt2 << select where("p-Value"n > 0.05);
dt2 << exclude;
//get list of remaining Unique Chart_ID's
summarize(uniqueVals=by(CHART_ID));
//trying to select on the original source data
dt1 << select where( contains( uniqueVals, :CHART_ID));
//then need to invert and exclude分析スクリプティングRe: dt2 の値の一意のリストに基づいて dt1 から行を選択して除外する方法は?uniqueVals 変数は dt1 と同じデータ型である必要があるため、どちらを変更するかを選択できます。 Chart_ID を数値データ型にする必要がない場合は、この場合は dt1 の Character に変更する可能性が高いでしょう。
Re: dt2 の値の一意のリストに基づいて dt1 から行を選択して除外する方法は?@jthi
したがって、集計を行った後、Chart_ID は Numeric Continuous のように見えますが、元のソース データ dt1 Chart_ID は数値 Nominal であり、pvalue テーブル dt2 は Character Nominal です。
//extra, just to look at the data
dtUnique = New Table( "uniqueVals less 0.05");
dtUnique << New Column( "ChannelID", Values(uniqueVals));

Re: dt2 の値の一意のリストに基づいて dt1 から行を選択して除外する方法は?@ブレイディ_ブレイディ
良い質問。 したがって、ソース データ (dt1) には Chart_ID が Numeric Nominal として含まれています。 チャートを作成して t-Test を実行し、結合データ テーブル (dt2) を出力すると、Chart_ID 列は Character Nominal になります。
Re: dt2 の値の一意のリストに基づいて dt1 から行を選択して除外する方法は?私の最初の推測は、文字と数値の不一致でしょう。
以下は Big Class の例です。
Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
ow = Oneway(Y(:height), X(:age), All Pairs(1));
dt2 = Report(ow)["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt2 << set name( "pValue PairWise by Channel Tukey");
dt2 << select where(:"p-Value"n > 0.05);
dt2 << exclude;
summarize(dt2, uniqueVals=by(:level)); //check out the type of :level column, could be character
//convert to numbers OR you could convert values in dt1 to characters
For( i = 1, i <= N Items(uniqueVals ), i++,
uniqueVals[i] = Num(uniqueVals[i] )
);
dt1 << select where(Contains(uniqueVals, :age));Re: dt2 の値の一意のリストに基づいて dt1 から行を選択して除外する方法は?あなたのチャート ID は、たまたま数値ですか? Summarize の by() の結果は、元のグループ ID が数値であったとしても、文字列のリストです。 これにより、これらのリスト要素 (これも文字列) が元のテーブルの値 (数値) と一致しなくなります。
??
乾杯、
ブレイディ