[问题] 关于使用text,label 最大值

楼主: SleepyChink (SleepyChink)   2016-08-12 20:22:12
[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)找出最大的三个值,
但不晓得如何只标出这三个的名称与值,
谢谢大家。
作者: andrew43 (讨厌有好心推文后删文者)   2016-08-12 20:31:00
例如 sort(Animals$brain, F)[1:3] 这样可以得到前三大
楼主: SleepyChink (SleepyChink)   2016-08-12 21:14:00
谢谢,这样可以得到前三大值,但仍然无法将它标注在图上,(语法如下)text(x=Animals$body, y=Animals$brain, labels=row.names(sort(Animals$body, T)[1:3]), pos=4)
作者: andrew43 (讨厌有好心推文后删文者)   2016-08-12 21:38:00
建议你这样想:把要标示的额外提取出来成新的物件,因为text()中各项参数是要互相配合的。你目前text()中有的是全部,有的是子集,混在一起不行的
楼主: SleepyChink (SleepyChink)   2016-08-12 23:43:00
已经成功,谢谢建议

Links booklink

Contact Us: admin [ a t ] ucptt.com