Fórmula col para medios iterativos por categorías.Hola,
Tengo un conjunto de datos que contiene mediciones de un experimento que mide la transferencia de analito desde una muestra de alta concentración a las siguientes muestras de baja concentración en un analizador químico. Realizo el experimento en diferentes dispositivos y diferentes reactivos, realizando tres ejecuciones repetidas para cada combinación.
Para calcular el nivel de transferencia, primero hago 10 mediciones de referencia en cada combinación de dispositivo y reactivo.
Quiero hacer una nueva columna que contenga la media de las 10 mediciones de línea de base para la combinación correspondiente de dispositivo-reactivo. Se adjunta la tabla de datos con la columna deseada rellenada manualmente en la columna "Media (línea de base)".
También quiero una nueva columna que tome el resultado de las mediciones de las muestras altas ("H" en la columna "Muestra") y complete este valor para las diez muestras siguientes. De nuevo, ver adjunto.
Tengo alguna idea de cómo codificar las fórmulas de columna a los nombres de dispositivos y de muestra, pero me gustaría hacerlo de forma iterativa, ya que el conjunto de datos real es más grande.
Re: Col formula para medios iterativos por categoriasHe adjuntado una tabla de datos con dos nuevas columnas que calculan la media (línea de base) y la muestra H. Los agregué a su tabla de datos adjunta como dos nuevas columnas. A menos que no haya especificado correctamente sus requisitos, descubrí que sus valores medios (línea de base) calculados manualmente no eran correctos para los medios de la línea de base del reactivo / dispositivo. Parecen ser la media de los valores de línea de base para la agrupación anterior de reactivos / dispositivos.
Aquí están las fórmulas que usé
Media (línea de base)
x = Col Mean( If( :Sample == "Baseline", :Measurement, . ), :Reagent, :Device );
If( :Sample == "Baseline",
x = .
);
x;
H muestra
x = Col Max( :Measurement, :Reagent, :Device );
If( :Sample == "Baseline",
x = .
);
x;
Re: Col formula para medios iterativos por categoriasHola @olekh ,
Si sus datos están ordenados de tal manera que las mediciones de línea de base siempre vienen antes que las otras ejecuciones (dentro de un grupo de muestra / dispositivo / reactivo), que es lo que tiene aquí, la siguiente es una de esas fórmulas de columna que harán esto:
If( :Sample == "Baseline",
Col Mean( :Measurement, :Reagent, :Sample, :Device ),
Lag( :Name( "Mean(Baseline) Formula" ), 1 )
)
He adjuntado la tabla con la fórmula aquí, también. Pero, estaba un poco confundido de que los medios que obtuve no coincidían con sus medios codificados. Lo verifiqué manualmente calculando los medios de referencia por separado y no coincidían con los que tenías. ¿Es posible que los medios que calculaste fueran incorrectos? O quizás, estoy entendiendo mal su estructura de datos.
@Julian
Re: Col formula para medios iterativos por categoriasGracias, eso es perfecto! Y tienes razón sobre los medios, por supuesto.Re: Col formula para medios iterativos por categoriasSí, tienes razón sobre los medios. Parece que estaba un poco apresurado transfiriendo valores al conjunto de ejemplos. Gracias por su solución!