對列進行規範化簡而言之:如何將一列規範化為自身?
請查看附件。我有:
- A列 = 0、1、2、3。可以把它想像成一個ID號碼。
- B列。可以把它看成一個時間戳。
- C列。這是數據。
現在我希望只有當 B=1 時,D 列才包含 C 列中的資料。
如附件所示,我已手動將 C 單元格中的黃色單元格複製並貼上到 D 單元格中,並反覆貼上。

因此,當我進行 D/C 計算時,我實際上是將整個 C 列歸一化到這些特殊的黃色值。我這樣做的目的就是為了計算 D/C 值。所以,該列中的值為 0.9 表示 C 列的值低於黃色 C 列的值,而值為 1.1 則表示 C 列的值高於黃色 C 列的值。
簡而言之,D 中應該填入什麼公式才能得到黃色值?
自動化和腳本編寫基礎資料分析與建模回覆:規範化列編輯
抱歉,我需要更仔細。你問的不是如何斷開連線。
選擇 C 和 D,然後右鍵單擊。新公式列 > 合併 > 比率(反向排序)

回覆:規範化列如果我理解有誤,請見諒。如果您希望當 B 不為 1 時 D 為空,而當 B 為 1 時 D 具有 C 的值,請嘗試下列公式。
Choose( :B, :C, . )
回覆:規範化列謝謝你的回答。不完全是這樣。我只是想要一個放在D列的公式,能夠重現這些數字。
此公式會將 C 列中的黃色儲存格套用至整個 D 列。這樣,D 列就變成如圖所示的重複黃色儲存格。 (大概在公式的某個地方,我們會硬編碼 B=1。)
可能是我在範例中手動輸入了 D,導致事情變得複雜了。我是手動輸入了那些數字,但我想要一個能自動計算 D 的公式。
回覆:規範化列謝謝你的回答,但這裡我比較一下你的答案和我想要的答案(我想要的只是一個關於D的公式)。比較最後一列和D值,你會發現它們並不相同。

回覆:規範化列Isn'1 是公式嗎?
If( :B == 1, 1, :D / :C )

回覆:規範化列我相信肯定有辦法透過腳本解決這個問題,但我建議在這種情況下,將資料格式從「長條形」切換到「寬條形」可能更合適。使用 JMP 公式時,如果計算所需的所有項目都在同一行,那麼操作總是最方便的。 (有時這是不可能的,這時就需要巧妙地編寫腳本。但就目前的情況而言,這樣做是可行的。)
我的建議:將資料表拆分成寬格式,每個“B”值對應一列。這樣,歸一化(除以C)就很容易了。

您可以重新編寫列名,使其更易於閱讀:

新增新的公式列後,最終結果如下:

這樣可以嗎?表格附在後面供您參考。
回覆:規範化列使用分組列聚合(例如col Median())來定義 D 列的值。
Col median(if (:B==1,:C), :A)
您也可以跳過 D 列,直接計算:C/分母。
應用程式商店裡有一個外掛程式可以自動執行這種規範化操作。
回覆:規範化列不,我想找D的公式。在我的例子中,我只是手動輸入了D的數字,但我想要的是一個公式。回覆:規範化列有什麼問題?
Col median(if (:B==1,:C), :A)
?
回覆:規範化列Hogi,這就是解決方案!謝謝!雖然沒找到中位數,但我得用「中位數」函數,這有點奇怪,不過我懂了。謝謝!我也會看看 Marketplace Addin。
回覆:規範化列謝謝!這個方法確實有效,但是當資料集很大時,對人來說查看起來有點笨拙。 Hogi 的回答比較簡潔,不過還是謝謝你的建議!