Ciao a tutti,
Mi chiedo come posso fare riferimento a un valore in una colonna specifica in base a una colonna di riferimento. Il concetto è proprio come CERCA.VERT in Excel. Ho una tabella dati con un nome ed esiste un valore di soglia univoco per quel nome specifico.
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/(Voglio che questo sia il valore basato sul riferimento Per nel grafico della variabilità]***</STRONG>, Dotted, "Black" ), Rotated Labels( "Horizontal" )}
)
)
);Nella mia testa otterrei il valore corrente di :Descrizione nel raggruppamento Per e quindi troverei il valore corrispondente della soglia nella colonna "Soglia (nA)". Ma non sono sicuro di come farlo.
Un esempio più semplice è:
Esempio di tabella dati:
ABC
1 2 3
143
265
275
3 4 4
4 9 4
Il mio grafico della variabilità traccerà B come asse y ma voglio una linea orizzontale basata su My By che in questo caso sarebbe A quindi 1, 2, 3. Quindi i miei tre grafici della variabilità avranno 3, 5 e 4 come rispettivi linee orizzontali basate sul valore di A. Al momento non sono sicuro di come ottenere questo valore e inserirlo nel codice sopra per ottenere una linea orizzontale dinamica in base alla descrizione come mio raggruppamento Per. Qualsiasi aiuto sarebbe molto apprezzato. Grazie!
Ecco un piccolo esempio di un modo per aggiungere la riga di riferimento basata su una colonna separata
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))
);
Grazie xnelson,
Non ho capito correttamente come utilizzare il bygroup in a per ogni funzione. Grazie per lo snippet di codice, questo è esattamente quello che speravo. Apprezzo l'aiuto!
Rispettosamente,
Neel Srejan