こんにちは、みんな、
参照列に基づいて特定の列の値を参照するにはどうすればよいでしょうか。 Excel の VLOOKUP のような概念です。名前が付いたデータテーブルがあり、その特定の名前に対して一意のしきい値があります。
Variability Chart(
Y( :Signal ),
X( :Expected Outcome, :Sample Mix, :Consumable ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( Name( "Choose best analysis (EMS REML Bayesian)" ) ),
Process Variation( 0 ),
Show Range Bars( 0 ),
Show Cell Means( 0 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
Show Box Plot Whisker Bars( 0 ),
Mean Diamonds( 0 ),
By( :Description ),
SendToReport(
Dispatch(
{"Variability Chart for Signal"},
"2",
ScaleBox,
{Scale( "Log" ), Min( 0.01 ), Max( 1250 ), Inc( 1 ), Minor Ticks( 8 ), Add Ref Line( 0, Dotted, "Medium Light Gray" ),
Add Ref Line( <STRONG>***[5/(これを変動チャートの参照による値にしたい]***</STRONG>, Dotted, "Black" ), Rotated Labels( "Horizontal" )}
)
)
);私の頭の中では、By グループ化で :Description の現在の値を取得し、「Threshold (nA)」列で対応するしきい値の値を見つけることになります。しかし、これをどうやって行うかわかりません。
より簡単な例は次のとおりです。
データテーブルの例:
ABC
1 2 3
1 4 3
2 6 5
2 7 5
3 4 4
4 9 4
私の変動グラフは Y 軸として B をプロットしますが、My By に基づく水平線が必要です。この場合、A は A なので 1、2、3 になります。したがって、3 つの変動グラフにはそれぞれ 3、5、4 が表示されます。 A の値に基づく水平線。現時点では、この値を取得して上記のコードにプラグインして、説明による動的水平線を By グループ化として取得する方法がわかりません。ご協力をいただければ幸いです。ありがとう!
別の列に基づいて参照線を追加する 1 つの方法の小さな例を次に示します。
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
// Add a column that has the value for the reference line to be written
dt << new column("Ref", set each value(If(:sex=="F", 60,65)));
vc = Variability Chart(
Y( :height ),
Model( "Main Effect" ),
X( :age ),
by( :sex )
);
summarize( dt, group = by( :sex), value = mean(:ref));
for each( {bygroup,i}, value,
report(vc[i])[AxisBox(1)] << add ref line(value[i],"solid","red", format(value[i], "fixed dec", 6,1))
);
ありがとう
for each 関数で bygroup を使用する方法を正しく理解していませんでした。 コード スニペットをありがとう、これはまさに私が望んでいたものです。 助けてくれてありがとう!
謹んで、
ニール・スレジャン