r - ggplot2 - выделение выбранных точек и странное поведение

Я хочу выделить выбранные точки и столкнулся с некоторым странным поведением. Сначала несколько фиктивных данных:

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...: Arguments implying different number of rows, Странно, но это зависит от выбранного диапазона.[23:40] буду работать,[22:40] Won & APOS; т.

Ошибка на английском языке:

Error in data.frame(x = c(19L, 21L, 22L), y = c(0.28198, -0.6215,  : 
  arguments imply differing number of rows: 3, 31

Ответы на вопрос(3)

Ваш ответ на вопрос