Hola a todos,
Me pregunto cómo puedo hacer referencia a un valor en una columna específica en función de una columna de referencia. El concepto es como BUSCARV en Excel. Tengo una tabla de datos con un nombre y hay un valor de umbral único para ese nombre específico.
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/(Quiero que este sea el valor basado en Por referencia en el cuadro de variabilidad]***</STRONG>, Dotted, "Black" ), Rotated Labels( "Horizontal" )}
)
)
);En mi cabeza, sería obtener el valor actual de: Descripción en la agrupación Por y luego encontrar el valor correspondiente del umbral en la columna "Umbral (nA)". Pero no estoy seguro de cómo hacer esto.
Un ejemplo más simple es:
Tabla de datos de ejemplo:
A B C
1 2 3
1 4 3
2 6 5
2 7 5
3 4 4
4 9 4
Mi gráfico de variabilidad trazará B como el eje y, pero quiero una línea horizontal basada en My By, que en este caso sería A, por lo que 1, 2, 3. Entonces mis tres gráficos de variabilidad tendrán 3, 5 y 4 como respectivamente. líneas horizontales basadas en el valor de A. A partir de ahora no estoy seguro de cómo obtener este valor e insertarlo en el código anterior para obtener una línea horizontal dinámica por descripción como mi agrupación Por. Cualquier ayuda sería muy apreciada. ¡Gracias!
Aquí hay un pequeño ejemplo de una forma de agregar la línea de referencia basada en una columna separada
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))
);
Gracias txnelson,
No entendí correctamente cómo usar el bygroup en a para cada función. Gracias por el fragmento de código, esto es exactamente lo que esperaba. ¡Agradezco la ayuda!
Respetuosamente,
neel srejan