R
R:對數比例的箱線圖與對數轉換然後創建箱線圖:不要得到相同的結果
在
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))
晶須是必然對稱的。