如何計算包含缺失資料的組別中各行之間的平均值(以前瞻性格式)?我遇到了一個問題,我的時間軸上有兩組數據點。一組是「溫度(攝氏)」數據,在每個時間點都採集;另一組是「殘餘葡萄糖(g/L)」數據,採集時間不固定。當這兩組資料放在同一個資料表中時,其中一列在該時間段內缺少資料。我附上了一個資料表作為範例,但大致結構如下:

我需要計算「殘餘葡萄糖 (g/L)」列中包含資料的行之間「溫度 (攝氏度)」列的平均值。需要注意的是,這個平均值必須是向前計算的。例如,在第 1 行,結果應該是「32」。在第 7 行,結果應該是 [第 2 行,第 7 行] 內所有值的平均值,即「32.1」。結果應該顯示在綠色高亮顯示的儲存格中。
我目前是透過建立一個輔助列,然後排序並製表來實現的,但這非常耗時。由於我的表格資料不斷增加,我希望能夠找到一種自動化的方法。非常感謝您的幫助與指導!
自動化和腳本編寫基礎資料分析與建模內容組織資料存取回覆:如何計算前瞻性資料格式中缺失資料組的行均值?如果你已經手動完成了這項工作,那麼你可以很容易地建立工作流程來自動化。
這裡有一個公式,或許能滿足你的需求(我建議把它分成幾個部分,這樣比較容易理解)。
If(!IsMissing(:"Residual Glucose (g/L)"n),
Col Mean(
:"Temperature (Celsius)"n,
Col Cumulative Sum(
!Is Missing(Lag(:"Residual Glucose (g/L)"n)) & Is Missing(:"Residual Glucose (g/L)"n),
:Batch ID
),
:Batch ID
)
,
.
);
回覆:如何計算前瞻性資料格式中缺失資料組的行均值?您可以建立一個新列,新增一個分組列,該列為每個非殘留糖值行具有不同的分組值。

以下是計算分組變數的公式
As Constant( x = 0 );
If( Is Missing( :"Residual Glucose (g/L)"n ) == 0,
x
++);
If( Is Missing( :"Residual Glucose (g/L)"n ) == 1,
x
);
然後使用列均值函數,您可以獲得所需的均值。

以下是群組均值計算公式
If( Is Missing( :group ) == 0,
Col Mean( :"Temperature (Celsius)"n, :group )
)
回覆:如何計算前瞻性資料格式中缺失資料組的行均值?正是我想要的! !非常感謝 