[問題] 關於使用text,label 最大值

看板R_Language作者 (SleepyChink)時間7年前 (2016/08/12 20:22), 編輯推噓0(009)
留言9則, 2人參與, 最新討論串1/1
[Code] library(MASS) attach(Animals) min(Animals$body) max(Animals$body) min(Animals$brain) max(Animals$brain) par(mfrow=c(1,2)) plot(brain~body, xlab="body", ylab="brain", xlim=c(0,88000), ylim=c(0,5800), main="body vs. brain", mex=0.8) text(x=Animals$body, y=Animals$brain, labels=row.names(Animals), pos=4) [問題] 上述語法能在我畫完的圖中標示出資料(Animals)的名稱, 但是如果我只想要標示出body中, 最大的三個值可以如何更改, 我目前有想到先用order(Animals$body)搭配sort(Animals$brain)找出最大的三個值, 但不曉得如何只標出這三個的名稱與值, 謝謝大家。 -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.218.60 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1471004535.A.63B.html

08/12 20:31, , 1F
例如 sort(Animals$brain, F)[1:3] 這樣可以得到前三大
08/12 20:31, 1F

08/12 21:14, , 2F
謝謝,這樣可以得到前三大值,但仍然無法將它標註在
08/12 21:14, 2F

08/12 21:14, , 3F
圖上,(語法如下)
08/12 21:14, 3F

08/12 21:14, , 4F
text(x=Animals$body, y=Animals$brain, labels=row.
08/12 21:14, 4F

08/12 21:14, , 5F
names(sort(Animals$body, T)[1:3]), pos=4)
08/12 21:14, 5F

08/12 21:38, , 6F
建議你這樣想:把要標示的額外提取出來成新的物件,
08/12 21:38, 6F

08/12 21:39, , 7F
因為text()中各項參數是要互相配合的。
08/12 21:39, 7F

08/12 21:40, , 8F
你目前text()中有的是全部,有的是子集,混在一起不行的
08/12 21:40, 8F

08/12 23:43, , 9F
已經成功,謝謝建議
08/12 23:43, 9F
文章代碼(AID): #1NhRztOx (R_Language)