Ingrese toda la columna de incógnitas para la predicción inversaHola,
Tengo 100 incógnitas para calcular a partir de un ajuste lineal. Seguí las instrucciones para "Predicción inversa" que se muestran aquí:
https://www.jmp.com/support/help/14/inverse-prediction-2.shtml#149268
Eso funcionó bien, pero usando este método, solo puedo ingresar (manualmente) 8 incógnitas a la vez. ¿Hay otra forma de hacer esto (como hay en Prism)? ¿O hay un script que puede hacerlo? Método de prisma: https://www.graphpad.com/support/faq/prism-3-calculating-unknown-concentrations-using-a-standard-curve/
¡Gracias!
Meghan
Re: Ingrese toda la columna de incógnitas para la predicción inversaCreo que un script proporcionaría la mejor solución. ¿Están los estándares y las incógnitas en la misma tabla de datos o en tablas de datos separadas? Mejor aún, ¿puede proporcionar un ejemplo de un conjunto de datos típico con los estándares y las incógnitas?
Re: Ingrese toda la columna de incógnitas para la predicción inversaHola, Mark,
He adjuntado algunos datos de muestra a esta nota: estándar e incógnitas están en la misma tabla de datos.
En este ejemplo, tengo una curva estándar con dos puntos 10 y 150 por duplicado. Quiero interpolar las incógnitas [aquí gDNA pg / uL] que he dejado en blanco.
Meghan
Re: Ingrese toda la columna de incógnitas para la predicción inversaEste script realizará la predicción inversa para cada ID de chip por separado.
Names Default to Here( 1 );
dt = Current Data Table();
Column( 2 ) << Data Type( "Numeric" ) << Modeling Type( "Continuous" );
Column( 3 ) << Data Type( "Numeric" ) << Modeling Type( "Continuous" );
dt << New Column( "Lower 95%", "Numeric", "Continuous" )
<< New Column( "Upper 95%", "Numeric", "Continuous" );
Summarize( chip = By( :Chip ID ) );
n groups = N Items( chip );
For( c = 1, c <= n groups, c++,
data = dt << Get Rows Where( :Chip ID == chip[c] );
dt << Select Where( :Chip ID != chip[c] ) << Exclude;
fls = dt << Fit Model(
Y( :Median Electrode ),
Effects( :Name( "gDNA pg/uL" ) ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run
);
unknown = :Median Electrode[data[3]::data[N Row(data)-2]];
Eval(
Substitute(
Expr(
fls << Inverse Prediction(
Term Value( Name( "gDNA pg/uL" )(.) ),
Response( rrr )
)
),
Expr( rrr ),
unknown
)
);
inv pred report = Report( fls )["Inverse Prediction"];
inv pred = inv pred report[NumberColBox(2)] << Get As Matrix;
lower = inv pred report[NumberColBox(3)] << Get As Matrix;
upper = inv pred report[NumberColBox(4)] << Get As Matrix;
fls << Close Window;
For( i = 1, i < N Row( data ) - 3, i++,
Column( 2 )[data[i+2]] = inv pred[i];
Column( 4 )[data[i+2]] = lower[i];
Column( 5 )[data[i+2]] = upper[i];
);
dt << Exclude << Clear Select;
);
Nota: fallará a menos que elimine las filas vacías al final. A uno de los estándares le falta el valor 10 para la concentración conocida.
Re: Ingrese toda la columna de incógnitas para la predicción inversa¡Esto funciona y es un gran comienzo para nuestra aplicación! ¡¡Muchas gracias!! A continuación, tenemos que descubrir cómo hacer la predicción inversa no por Chip, sino por todos los valores de curva estándar en los Chips. (Acabamos de comenzar a aprender JMP).Re: Ingrese toda la columna de incógnitas para la predicción inversaSolo quería reiterar lo increíble que es este script. Como nuevo usuario de JMP, realmente aprecio su esfuerzo.