私は10分間毎分測定を行ういくつかの実験データを持っています。
次に、セットの中央にあるデータポイントのサブセットの平均を取りたいと思います。
私の解決策は、基準(モーダルウィンドウを介して入力)を含む数式を含む非表示の列(:Range)を作成し、計算に含める場合は各行を1または0に設定することです。
次に、出力列はCol Mean関数を使用して、関心のあるポイントの平均を取ります。
この部分はうまく機能していますが、最初の空白行(計算には含まれていません)が次の行の値を取得することも必要です。これは、今後のデータ操作に役立ちます。 以下のようにラグ機能を追加しました。
If( :Range == 1,
Col Mean( :Measurement, :ID, :Range ),
Lag( :Measurement, -1 )
)
問題は、これをスクリプトとして実行すると、Lag関数が機能しないことです。 上記の数式を手動で入力すると正常に機能しますが、以下のスクリプトは、数式が列に正しく適用されていることを確認できるにもかかわらず、:Range==1の行にのみデータを入力します。
New Column( "Mean Measurement", Formula(
If( :Range == 1,
Col Mean( :Measurement, :ID, :Range ),
Lag( :Measurement, -1 ))))
これには何か理由がありますか?また、列に数式を再評価させて正しく実行する方法はありますか?