我想要突出显示选定的点,但遇到了一些奇怪的行为。首先是一些虚拟数据:
a <- 1:50
b <- rnorm(50)
mydata <- data.frame(a=a,b=b)
ggplot(mydata,aes(x=a,y=b)) + geom_point()
这个工作是正确的。现在,为了突出一些重点,我添加了另一个geom_point
层:
ggplot(mydata[20:40,],aes(x=a,y=b)) +
geom_point() +
geom_point(aes(x=a[c(10,12,13)],y=b[c(10,12,13)]),colour="red")
注意,我仅显示数据的有限范围([20:40]
)。现在出现了奇怪的行为:ggplot(mydata[10:40,],aes(x=a,y=b)) +
geom_point() +
geom_point(aes(x=a[c(10,12,13)],y=b[c(10,12,13)]),colour="red")
从选定范围大小开始,我遇到了一个错误,大致翻译自德语:Error...:参数暗示行数不同
。奇怪的是,这会随着所选范围的不同而有所变化。[23:40]
将起作用,[22:40]
将不起作用。
这个错误的英文是:
Error...: Arguments implying different number of rows
Error in data.frame(x = c(19L, 21L, 22L), y = c(0.28198, -0.6215, :
arguments imply differing number of rows: 3, 31