缺失值代碼和公式<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />當我在連續資料列中設定缺失值程式碼,然後在引用第一列的另一列中編寫公式時,該公式在計算中包含缺失值程式碼(-9999)。 舉一個簡單的例子,我有一列以開爾文為單位的溫度,我在第二列將其轉換為攝氏度。 無論開爾文列中有缺失值代碼,新攝氏列中的計算值都是 -10,272.15。 我希望第二列也顯示缺失值代碼。 我只想刪除所有 -9999,但我們希望能夠區分由於我們沒有收集而丟失的數據和由於儀器故障而丟失的數據。 我究竟做錯了什麼?
回覆:缺失值代碼和公式這匹配函數就可以解決問題。來自腳本指南:
匹配
您可以使用匹配()函數可以進行多次相等比較,而無需重寫要比較的值。 語法是:
匹配( X ,值1 ,結果1 ,值2 ,結果2 , … ,結果否則)
例如,以下腳本重新編碼性別縮寫大類.jmp :
對於每一行(
性別=匹配(性別, “F” , “女性” , “M” , “男性” , “未知” )
) ;
回覆:缺失值代碼和公式這個可以做到。
(匹配( :溫度_開爾文, - 9999 , 0 , :溫度_開爾文) +
匹配( :溫度2_開爾文, - 9999 , 0 , :溫度2_開爾文) +
匹配( :溫度3_開爾文, - 9999 , 0 , :溫度3_開爾文) )
/
(匹配( :溫度_開爾文, - 9999 , 0 , 1 ) +
匹配( :溫度2_開爾文, - 9999 , 0 , 1 ) +
匹配( :溫度3_開爾文, - 9999 , 0 , 1 ) )
回覆:缺失值代碼和公式謝謝PMRoz,但我想知道是否可以取沒有-9999的兩列的平均值(如果缺少一列),或者只使用有數據的一列中的值(如果其他都值缺失)。 例如:
土壤溫度 1、土壤溫度 2、土壤溫度 3
287.1、289.3、288.6
-9999、286.6、287.9
-9999, 287.5, -9999
-9999, -9999, -9999
我想取第一行中所有三個值的平均值,第二行中的第 2 列和第 3 列,使用第三行中的第 2 列的值,並為第四行返回 -9999。 這可以透過條件語句實現嗎?
回覆:缺失值代碼和公式不需要 JMP 12。下面是一個 IF 語句範例,如果三列都不為 -9999,則對三列求平均值:
如果( :溫度_開爾文!= - 9999 &
:溫度2_開爾文!= - 9999 &
:溫度3_開爾文!= - 9999 ,
( :溫度_開爾文+ :溫度2_開爾文+ :溫度3_開爾文) / 3 ;
) ;
回覆:缺失值代碼和公式謝謝你的回答,傑夫。 我正在使用 JMP 11,但我想我的範例太簡單,無法闡明真正的問題。 當我嘗試對 3 列進行平均時,我不確定如何編寫處理 -9999 的條件語句(或多個語句)。 例如,我有 3 列土壤溫度數據,有時其中一列、兩列或三列會有 -9999。 這個程式超越了我的理解程度。 也許我應該買 JMP 12... 任何見解將不勝感激!
回覆:缺失值代碼和公式您使用什麼版本的 JMP?
我們透過 JMP 12 改變了這種行為。 公式編輯器中的函數現在遵循缺失值程式碼屬性。 早期版本(正如您所發現的)沒有這樣做。
如果您想在 JMP 11 及更早版本的轉換中考慮這一點,則需要在公式中新增條件。

If(:Temp Kelvin == -9999, -9999, :Temp Kelvin - 272.15)
-傑夫