基於其他 6 個具有是/否值的列建立具有是/否值的列大家好,我正在使用 JMP 11.2.1。 在不使用腳本的情況下,有沒有辦法在資料表中根據其他 6 列的是/否值建立一個包含是/否值的新欄位? 基本上,如果其他6 列中該記錄的任何值是“是”,我希望新列中的記錄具有“是”值,如果該記錄的值都不是“是”,則我希望新列中的記錄具有「否」值其他6列中的記錄均為「是」。 謝謝。
回覆:根據其他 6 個具有是/否值的欄位建立具有是/否值的列很高興您發現了問題並解決了問題。
回覆:根據其他 6 個具有是/否值的欄位建立具有是/否值的列吉姆,
感謝您的跟進。 我想到了。 我需要做一些事情:
- 我必須調整你的公式,因為我正在尋找“相反”的結果。 我對您的範例的意圖是為第 7 列中的所有記錄產生「是」值,因為 7 行中的每一行中至少存在一個「是」。 如果記錄在所有列 af 中都具有「否」值,則傳回「否」的唯一方法。
- 但這還不夠,因為我的新專欄原本的值都是「否」。 我想知道參考列中的不同資料類型是否會導致匹配失敗。 是的,當我嘗試匹配具有字元資料類型的列時,資料類型被列為整數。 (我的原始原始檔案是從 SPSS 轉換而來的,我忽略了列類型。)
- 我將資料類型更改為字符,並且還注意到正在使用值標籤,因此“否”和“是”實際上是零和一。 我回到公式並更改了將“否”和“是”替換為 0 和 1,這就是它起作用的時候。
很高興了解區分大小寫和“:”協議。 對於 JMP 來說還是比較新的,而且我使用它的頻率並不如我所願。 再次感謝你的幫忙。
羅伯特
回覆:根據其他 6 個具有是/否值的欄位建立具有是/否值的列我列出的公式是沒有疑問的。 有用。 請參閱下圖和附件
可能的問題是您的資料可能會混合大小寫。 “不”不等於“不”,也不等於“不”。 如果是這種情況,那麼我建議
If(
Uppercase( :A ) == "NO", "No",
Uppercase( :B ) == "NO", "No",
Uppercase( :C ) == "NO", "No",
Uppercase( :D</img> ) == "NO", "No",
Uppercase( :E ) == "NO", "No",
Uppercase( :F ) == "NO", "No",
Uppercase( "Yes"
)
另外,請注意每個列名稱前面的“:”。 這對於 JMP 了解它需要按指定名稱查看列非常重要
回覆:根據其他 6 個具有是/否值的欄位建立具有是/否值的列謝謝你的想法,但似乎行不通。 每行都會在新列中傳回“是”值。
按照邏輯,我認為它可能會反向工作- 沿著列前進,如果6 個“比較”列中的任何一列有“是”值,則應返回“是”值,如果有,則應返回“否”值6 列中沒有“否”值。 然而,當我編輯公式時,每一行都會傳回“否”值。
回覆:根據其他 6 個具有是/否值的欄位建立具有是/否值的列您所要做的就是建立一個新列,右鍵單擊列標題,然後選擇“公式”。 將彈出公式視窗。 雙擊“無公式”的位置,將彈出一個編輯器視窗。 將以下公式貼到視窗中。 在公式中,我使用字母 AF 來指定您所說的必須進行比較的 6 列。 只需將 AF 替換為列名稱即可。
If(
:A=="No", "No",
:B=="No","No",
:C=="No","No",
:D=="No","No",
:E=="No","No",
:F=="No","No",
"Yes"
)
此公式的作用是沿著 6 列進行。 如果其中任何一個的值為“否”,則會將列值設為“否”。 如果它們都不等於“否”,則該列的值為“是”