R

R:對數比例的箱線圖與對數轉換然後創建箱線圖:不要得到相同的結果

  • May 7, 2016

boxplot()R 中的函數中,存在log =用於指定軸是否應在對數刻度上的參數。

對我來說,如果我選擇此選項(指定log = "y"為參數),箱線圖的形狀應該看起來與我首先使用日誌手動轉換數據,然後繪製對數轉換的數據相同(我識別標籤軸上會有所不同,但我指的是繪圖的形狀)。然而,事實並非如此。

這是一個簡單的工作示例:

set.seed(923489)
data <- rlnorm(300, meanlog = 0, sdlog = 1)
boxplot(data) # Highly skewed right raw data
boxplot(data, log="y") # Data on log scale; less right-skewed
boxplot(log10(data)) # Log base 10-transform data; shape not the same as when specify log="y"
boxplot(log(data)) # Natural log and base 10 give same shape plot (just different axis labels)

為什麼會這樣?

顯然,帶有中間“帶”的盒子看起來是一樣的。不同的是鬍鬚。在默認設置中,?boxplot告訴我們

如果“範圍”為正,則須線延伸到最極端的數據點,該數據點不超過“範圍”乘以框的四分位間距。

range為正數,即默認為 1.5。那麼晶須是否會延伸到盒子的 1.5 倍,但在多大範圍內呢?如果調用boxplot(data, log="y"),則在未縮放的數據上為 1.5;因此較低的晶須變得更長。如果你稱boxplot(log(data))晶須是必然對稱的。

引用自:https://stats.stackexchange.com/questions/211327

comments powered by Disqus