欠損値コードと数式<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />連続データ列に欠損値コードを設定し、最初の列を参照する別の列に数式を記述すると、数式の計算に欠損値コード (-9999) が含まれます。 簡単な例として、ケルビン単位の温度の列があり、2 番目の列で摂氏に変換しています。 ケルビン列に欠損値コードがある場合、新しい摂氏列の計算値は -10,272.15 になります。 2 番目の列にも欠損値コードを表示したいと思います。 -9999 をすべて削除するだけですが、収集しなかったため欠落したデータと、機器の故障により欠落したデータを区別できるようにしたいと考えています。 私の何が間違っているのでしょうか?
Re: 欠損値コードと数式のマッチ関数が役に立ちます。スクリプト ガイドから:
マッチ
使用できますマッチ()必要なく複数の等価比較を行う関数比較する値を書き換えます。 構文は次のとおりです。
マッチ(バツ、値1 、結果1 、値2 、結果2 、 ... 、結果その他)
たとえば、次のスクリプトは性別の略語を記録します。ビッグクラス.jmp :
各行について(
セックス=マッチ(セックス、 「ふ」 、 "女性" 、 「ま」 、 "男" 、 "未知" )
) ;
Re: 欠損値コードと数式これならできるかもしれない。
(マッチ( :温度_ケルビン、 - 9999 、 0 、 :温度_ケルビン) +
マッチ( : Temp2_ケルビン、 - 9999 、 0 、 : Temp2_ケルビン) +
マッチ( : Temp3_ケルビン、 - 9999 、 0 、 : Temp3_ケルビン) )
/
(マッチ( :温度_ケルビン、 - 9999 、 0 、 1 ) +
マッチ( : Temp2_ケルビン、 - 9999 、 0 、 1 ) +
マッチ( : Temp3_ケルビン、 - 9999 、 0 、 1 ) )
Re: 欠損値コードと数式PMRoz に感謝しますが、-9999 を持たない 2 つの列の平均を取ることができるか (1 つの列が欠落している場合)、それともデータのある 1 つの列の値を使用することができるかどうか (両方の列が他の列の場合) を疑問に思っています。値が欠落しています)。 例えば:
地温1、地温2、地温3
287.1、289.3、288.6
-9999、286.6、287.9
-9999、287.5、-9999
-9999、-9999、-9999
最初の行、2 行目の列 2 と 3 の 3 つの値すべての平均を取得し、3 行目の列 2 の値を使用し、4 行目に -9999 を返したいと考えています。 これは条件文で可能でしょうか?
Re: 欠損値コードと数式JMP 12 は必要ありません。-9999 でない 3 つの列を平均する IF ステートメントの例を次に示します。
もし( :温度_ケルビン!= - 9999 &
: Temp2_ケルビン!= - 9999 &
: Temp3_ケルビン!= - 9999 、
( :温度_ケルビン+ : Temp2_ケルビン+ : Temp3_ケルビン) / 3 ;
) ;
Re: 欠損値コードと数式ご回答ありがとうございます、ジェフ。 私は JMP 11 を使用していますが、私の例は単純すぎて実際の問題を解明できないと思います。 平均をとろうとしている列が 3 つある場合、-9999 を処理する条件ステートメント (または複数のステートメント) をどのように作成すればよいかわかりません。 たとえば、土壌温度データの 3 列があり、場合によっては 1、2、または 3 列の値が -9999 になることがあります。 このプログラミングは私の理解のレベルを超えています。 JMP 12 を入手する必要があるかもしれません... ご洞察をいただければ幸いです。
Re: 欠損値コードと数式JMP のどのバージョンを使用していますか?
JMP 12 ではこの動作が変更されました。 数式エディターの関数は、欠損値コード プロパティを考慮するようになりました。 以前のバージョンでは (ご存知のとおり)、これは行われませんでした。
JMP 11 以前の変換でこれを考慮したい場合は、式に条件を入れる必要があります。

If(:Temp Kelvin == -9999, -9999, :Temp Kelvin - 272.15)
-ジェフ