我目前有一个像这样的矩阵(表),其中包含6位女性的身高和体重:
V1 V2 V3 V4
1 Bella 161 60
2 Jessica 160 55
3 Indigo 179 72
4 Tina 165 54
5 Sofia 178 70
6 Fiona 163 51
在散点图上(身高与体重),我想用女性的名字标注离群值。有办法吗?我尝试过
text(V4, V3, labels=V2)
但它似乎不起作用。
答案 0 :(得分:0)
text
函数不知道从何处获取V4
等。
一些选择,坚持使用基本图形:
text(dat$V4, dat$V3, labels = $V2)
with(dat, text(V4, V3, labels = V2))
text(V3 ~ V4, data = dat, labels = V2)
演示:
plot(mpg ~ disp, data = mtcars, pch = 16, col = "gray90")
text(mpg ~ disp, data = mtcars[2:4,], labels = cyl)
答案 1 :(得分:0)
您也可以尝试使用ggplot2
方法。在这里,我包括使用您的数据的代码,但是您必须定义什么是异常值。这里是方法:
library(ggplot2)
#Data
df <- data.frame(V1=1:6,
V2=c('Bella','Jessica','Indigo','Tina','Sofia','Fiona'),
V3=c(161,160,179,165,178,163),
V4=c(60,55,72,54,70,51),stringsAsFactors = F)
我们必须定义离群值。假设V3
中大于175的值和V4
中大于69的值是离群值:
#Create label
df$label <- ifelse(df$V3>175 & df$V4>69,df$V2,NA)
现在我们绘图:
#Plot
ggplot(df,aes(x=V3,y=V4))+
geom_point()+
geom_text(aes(label=label),vjust=-0.5)
输出:
还请注意贤哲@ r2evans的出色建议。他们很清楚!