Re: [問題] 特製Boxplot盒鬚圖
首先,boxplot() 其實會回傳一個物件,我叫 z 物件好了。
這個 z 物件本身是一個 list,裡頭就是 boxplot 的各種資訊。
像是 z$stat 就是各變數的 quantiles,z$name 是各變數的名稱。
你可以觀察看看 bx.p <- boxplot(split(rt(100, 4), gl(5, 20))) 的
bx.p 實際上是回傳了什麼給你。
這個 z 物件可以自己建,就像建一個 list 一樣。
然後再以 bxp(z物件) 畫出一個 boxplot。
請看以下按你的需求設計的例子。
# 二組虛假資料
a <- c(1:100)
b <- c(50:1000)
# 建立 z 物件(本身是一個 list)
bxpObj <- list()
# 一定要有 bxpObj$stats 這項,裡頭是一個 matrix,
# 其中欄是變數,列是各 quantile,要有5列。
# 各 quantile 分別會被畫成下底線、下盒線、中位線、上盒線和上底線。
bxpObj$stats <- rbind(
cbind(
quantile(a, c(0.1, 0.25, 0.5, 0.75, 0.9)),
quantile(b, c(0.1, 0.25, 0.5, 0.75, 0.9))
)
)
# bxpObj$name 這項就是變數名稱
bxpObj$name <- c("a", "b")
# 重點來了:用 bxp() 畫
bxp(bxpObj)
# 直接用 points() 補畫你要求的 20% 和 80% quantile。
points(1, quantile(a, 0.2), pch=1) # a的20% quantile
points(1, quantile(a, 0.8), pch=2) # a的80% quantile
points(2, quantile(b, 0.2), pch=3) # b的20% quantile
points(2, quantile(b, 0.8), pch=4) # b的80% quantile
最後,如果你想自行改寫成一個新的 function,也要視你的資料而定。
例如是 myboxplot(變數,組別) 還是 myboxplot(matrix) 的寫法會不太一樣。
但重點就是我前面寫的:建一個 z 物件再餵 bxp() 吃下去就對了。
※ 引述《ming790925 (MING)》之銘言:
: [問題類型]:
: 程式諮詢
: [軟體熟悉度]:
: 使用者(已經有用R 做過不少作品)
: [問題敘述]:
: 我想畫一個 boxplot 但不要內建那種,
: 因為我在意的是某幾格特定的百分位數,
: 還有我不希望畫出outliers
: 因為找了滿久的 都沒有找到能達到這樣的套件
: 想請問各位是否有印象有什麼套件已經能完成?
: 舉例來說:
: 除了中間的盒子外,我想要延伸出去到90% 10% quantile的值
: 並在80% 20%也加上標記
: 感激!!!!!
: [關鍵字]:
: boxplot quntile
--
http://apansharing.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.68.143
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1425560179.A.B7C.html
※ 編輯: andrew43 (125.230.68.143), 03/05/2015 21:00:12
※ 編輯: andrew43 (125.230.68.143), 03/05/2015 21:03:57
※ 編輯: andrew43 (125.230.68.143), 03/05/2015 21:04:51
推
03/05 22:18, , 1F
03/05 22:18, 1F
→
03/05 22:35, , 2F
03/05 22:35, 2F
→
03/05 22:36, , 3F
03/05 22:36, 3F
→
03/05 22:36, , 4F
03/05 22:36, 4F
→
03/05 22:41, , 5F
03/05 22:41, 5F
→
03/05 22:43, , 6F
03/05 22:43, 6F
→
03/05 22:44, , 7F
03/05 22:44, 7F
推
03/05 22:50, , 8F
03/05 22:50, 8F
推
03/08 15:35, , 9F
03/08 15:35, 9F
→
03/08 15:36, , 10F
03/08 15:36, 10F
→
03/08 15:36, , 11F
03/08 15:36, 11F
→
03/08 15:37, , 12F
03/08 15:37, 12F
→
03/08 15:38, , 13F
03/08 15:38, 13F
→
03/08 15:38, , 14F
03/08 15:38, 14F
推
03/08 17:23, , 15F
03/08 17:23, 15F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章