按類別進行迭代的Col公式嗨,
我有一個數據集,其中包含一個實驗的測量結果,該實驗測量從高濃度樣品到化學分析儀上隨後的低濃度樣品的分析物殘留。我在不同的設備和不同的試劑上進行實驗,每個組合進行三次重複運行。
為了計算遺留水平,我首先對每個設備 - 試劑組合進行10次基線測量。
我想製作一個新的列,其中包含相應設備 - 試劑組合的10個基線測量值的平均值。附加的是數據表,其中所需的列在“平均值(基線)”列中手動填充。
我還想要一個新的列,它可以獲取高樣本的測量結果(col“樣本”中的“H”),並為後面的10個低樣本填充此值。再次,見附件。
我對如何將col公式硬編碼為設備名稱和样本名稱有所了解,但我想迭代地進行,因為真實的數據集更大。
Re:按類別迭代的Col公式我附加了一個數據表,其中包含兩個新列,用於計算平均值(基線)和H樣本。 我將它們作為兩個新列添加到您附加的數據表中。 除非您沒有正確指定您的要求,否則我發現您的手動計算的平均值(基線)值對於試劑/設備基線均值是不正確的。 它們似乎是先前試劑/設備分組的基線值的平均值。
這是我使用的公式
平均(基線)
x = Col Mean( If( :Sample == "Baseline", :Measurement, . ), :Reagent, :Device );
If( :Sample == "Baseline",
x = .
);
x;
H樣本
x = Col Max( :Measurement, :Reagent, :Device );
If( :Sample == "Baseline",
x = .
);
x;
Re:按類別迭代的Col公式你好 @olekh ,
如果對數據進行排序,使得基線測量總是在另一次運行之前(在樣本/設備/試劑組中),這就是您在此處所擁有的,以下是一個這樣的列公式,它們將執行此操作:
If( :Sample == "Baseline",
Col Mean( :Measurement, :Reagent, :Sample, :Device ),
Lag( :Name( "Mean(Baseline) Formula" ), 1 )
)
我也在這裡附上了公式。但是,我有點困惑,我得到的手段與你的硬編碼手段不符。我通過單獨計算基線平均值來手動檢查,但它們與您所擁有的不匹配。您計算的方法是否可能不正確?或許,我誤解了你的數據結構。
@julian
Re:按類別迭代的Col公式謝謝,這是完美的!當然,你對這些方法是正確的。Re:按類別迭代的Col公式是的,你的意思是對的。看起來我有點急於將值傳遞給示例集。謝謝你的解決方案!