Col formule pour les moyens itératifs par catégoriesSalut,
J'ai un jeu de données contenant les mesures d'une expérience mesurant le transfert de l'analyte d'un échantillon hautement concentré aux échantillons suivants à faible concentration sur un analyseur chimique. Je fais l'expérience sur différents dispositifs et différents réactifs, en effectuant trois répétitions pour chaque combinaison.
Pour calculer le niveau de transfert, je commence par effectuer 10 mesures de base sur chaque combinaison appareil / réactif.
Je souhaite créer une nouvelle colonne contenant la moyenne des 10 mesures de base pour la combinaison dispositif-réactif correspondante. La table de données avec la colonne souhaitée est remplie manuellement dans la colonne "Moyenne (base)".
Je veux aussi une nouvelle colonne qui prend le résultat des mesures des échantillons élevés ("H" dans la colonne "Echantillon") et qui remplit cette valeur pour les dix échantillons faibles suivants. Encore une fois, voir ci-joint.
J'ai une idée de la façon de coder de manière stricte les formules de col en noms de périphérique et de noms d'échantillon, mais j'aimerais le faire de manière itérative, car le jeu de données réel est plus volumineux.
Formule Re: Col pour les moyens itératifs par catégoriesJ'ai joint un tableau de données avec deux nouvelles colonnes qui calculent la moyenne (ligne de base) et l'échantillon H. Je les ai ajoutées à votre table de données attachée sous forme de deux nouvelles colonnes. À moins que vous n'ayez pas spécifié correctement vos exigences, j'ai constaté que vos valeurs moyennes (de base) calculées manuellement n'étaient pas correctes pour les moyennes de réactif / dispositif. Ils semblent être la moyenne des valeurs de référence pour le groupe de réactifs / dispositifs précédent.
Voici les formules que j'ai utilisées
Moyenne (base)
x = Col Mean( If( :Sample == "Baseline", :Measurement, . ), :Reagent, :Device );
If( :Sample == "Baseline",
x = .
);
x;
H échantillon
x = Col Max( :Measurement, :Reagent, :Device );
If( :Sample == "Baseline",
x = .
);
x;
Formule Re: Col pour les moyens itératifs par catégoriessalut @olekh ,
Si vos données sont triées de sorte que les mesures de base arrivent toujours avant les autres analyses (au sein d'un groupe échantillon / appareil / réactif), comme vous le voyez ici, voici l'une des formules de colonne permettant d'effectuer cette opération:
If( :Sample == "Baseline",
Col Mean( :Measurement, :Reagent, :Sample, :Device ),
Lag( :Name( "Mean(Baseline) Formula" ), 1 )
)
J'ai joint la table avec la formule ici aussi. Mais j'étais un peu confus que les moyens que j'ai obtenus ne correspondent pas à vos moyens codés en dur. J'ai vérifié manuellement en calculant les moyennes de base séparément et elles ne correspondaient pas à ce que vous aviez. Est-il possible que les moyens que vous avez calculés soient incorrects? Ou peut-être, je comprends mal votre structure de données.
@julien
Formule Re: Col pour les moyens itératifs par catégoriesMerci, c'est parfait! Et vous avez raison sur les moyens, bien sûr.Formule Re: Col pour les moyens itératifs par catégoriesOui, vous avez raison sur les moyens. Il semble que j'ai été un peu précipité en transférant des valeurs à l'exemple. Merci pour votre solution!