回复:警告:避免在列名中使用破折號!JMP 在其語法中採用了這種方式,在命名變量或列等時使用盡可能少的“特殊”或“受限”字符。最終結果是 JMP 可能會將變量或列名稱解釋為數學短語,而不是限定名稱。因此,
Col-1
將被評估為名為“Col”的變量減 1。
JMP 具有允許正確解釋的語法。
:"Col-1"n
告訴 JMP 這是一個列名,列名是“Col-1”。
您的 Mean() 函數示例編碼為
Mean( :"Col-1"n, :"Col-2"n );
回复:警告:避免在列名中使用破折號!一些文檔名稱()(貶低) ,腳本指南 > JSL 構建塊 > JSL 語法規則 > 名稱
回复:警告:避免在列名中使用破折號!嗯…… 好的。
但是,這是我在第二個示例的公式編輯器中找到的內容:
Mean( As Column( "Col-2" ), As Column( "Col-1" ) )
那麼,As Column(colname) 和 :"colname"n 有什麼區別呢?
最後的n是什麼意思?
我認為關於列名的這樣一條規則應該是所有關於 JMP 表的教程的第 1 頁,但在我看到的所有教程中都沒有這種規則。
回复:警告:避免在列名中使用破折號!不要在意“n”,它在下面的鏈接中有解釋。
回复:警告:避免在列名中使用破折號!您是以交互方式構建公式還是將其作為腳本輸入?
我無法通過公式的交互式構建來重現您的結果(在 JMP 17.1 中)。 我嘗試將列列表中的變量拖到 Mean 函數中並得到:

並且計算是正確的(交互背後的 JSL 是
Mean(:"Col-1"n, :"Col-2"n)
). 我還嘗試通過選擇均值公式中的框,然後從變量列表中選擇變量。 這也奏效了。
如果您正在輸入代碼,那麼正如其他人提到的那樣,您需要確保正確指定列名。 交互地名稱似乎不是問題。
回复:警告:避免在列名中使用破折號!嗨,丹,
我正在使用 JMP 17.0.0 (622753)。
我有兩列名稱為 Col-1 和 Col-2。 轉到新列、屬性、公式、編輯公式。
選擇統計 > 均值。 在公式編輯器中,我看到 Mean() 裡面有一個藍色框。 現在我選擇兩列,並將它們拖到框中(+ 號出現)。 當我放手時,我會看到“解析錯誤”對話框。
然後我可以關閉錯誤對話框並在腳本模式下手動編輯框。
你是說你在 JMP 17.1 中沒有遇到解析錯誤?
回复:警告:避免在列名中使用破折號!我相信我遵循了您的所有步驟,但沒有看到“解析錯誤”對話框。 也許升級到 17.1 會解決您的問題。
回复:警告:避免在列名中使用破折號!好的,我現在已經更新到 JMP 17.1 並且可以確認這個令人討厭的錯誤已得到修復。
17.1 的發行說明中沒有提到這一點(SAS 可恥)。
所以這就是解決方案。 人們仍然應該知道這個與列名有關的問題。
警告:避免在列名稱中使用破折號!這大多是出乎我意料的,我花了一段時間才弄清楚。
如果在列名中使用破折號(“-”),可能會發生不好的事情。
考慮以下情況:您想要計算兩列的平均值。 因此,您打開公式編輯器並選擇統計>平均值,然後嘗試將列拖曳到括號內。 在 JMP16 中,這曾經工作得很好。 我認為,在 JMP17 中,情況發生了一些變化。
現在嘗試使用列名稱 Col-1 和 Col-2 或 Col_1 和 Col_2。 透過下劃線,您可以在列之間使用逗號,公式將如下所示:

現在,對名稱中帶有破折號的列嘗試相同的操作。 首先,出現解析錯誤。 然後,您可以嘗試將列名稱放在雙引號內。 這很難做到,但如果你使用正確的咒語,你最終會得到一個如下所示的公式:

至此,均值計算正確。
然而,它並不相同。 例如,如果您嘗試使用 Profiled 來計算基於預測公式的函數,則會發生這種情況。 即使您選取“展開中間公式”,它也會失敗並出現有關缺少因子的錯誤。 如果列名稱中沒有破折號,它將起作用!
我認為這顯然是一個錯誤,而且是一個令人討厭的錯誤。
資料存取資料混合與清理品質和工藝工程