Re: [問題] 四分位數Q1和Q3的計算

作者: celestialgod (天)   2015-04-06 10:41:07
※ 引述《yeuan (心要夠堅定)》之銘言:
: [問題類型]:
: 一組數列 用R計算跟手算的不同
: [軟體熟悉度]:
: 新手(剛開始摸索)
: [問題敘述]:
: 一組數列:-10,-6,-2,2,6,10 計算Q1與Q3
: Q1=0.25*6=1.5 →1.5不是整數 故找比1.5大的下一個整數為2
: 所以Q1應該為-6 以此類推Q3應該為6
: 但是R算出來Q1=-5 Q3=5
: 請問我有哪邊弄錯了嗎@@ 不太明白為什麼會不一樣
: [程式範例]:
: y=c(-10,-6,-2,2,6,10)
: quantile(y,probs=c(0.25,0.75))
According to R manual (部分節錄)
quantile(x, probs = seq(0, 1, 0.25), na.rm = FALSE,
names = TRUE, type = 7, ...)
where type is an integer between 1 and 9 selecting one of the nine quantile
algorithms detailed below to be used.
For types 1, 2 and 3, quantile of type i at quantile p is a discontinuous
function of p. For types 4 through 9, it is a continuous function of p.
For R >= 2.0.0, the default type is 7.
接著實作type 7給你看
type 7: 利用內插找sample quantile,因此你要先決定每一個x是對應在哪
根據manual提供的公式,第k個x對應的p為 p[k] = (k - 1) / (n - 1)
f = function(k, n) (k-1) / (n-1)
f(1:6, 6)
# [1] 0.0 0.2 0.4 0.6 0.8 1.0
因此,當有6個sample時,分別對應到,0, 0.2,... , 1.0
你所求的0.25就是用x的第二個跟第三個資料做內插
假設所求是xx,0.25的quantile,資料同你的,是-10, -6, -2, 2, 6, 10
-2 - (-6) xx - (-6)
作者: yeuan (心要夠堅定)   2015-04-06 22:12:00
謝謝!
作者: andrew43 (討厭有好心推文後刪文者)   2015-04-06 23:46:00
推追根究底。

Links booklink

Contact Us: admin [ a t ] ucptt.com