Да, это возможно. Одним из решений является прямая передача вектора в aes
(IMO, это злоупотребление ggplot2
, но сейчас я не могу придумать никакого другого решения).
# Subset data once so we wouldn't need to subset twice for nrow
id <- 1:6
size <- c(5, 2, 3, 4, 2, 8)
colour <- rep(c("red", "blue", "green"), 2)
df <- data.frame(id, size, colour)
pd <- subset(df, colour %in% c("blue", "red"))
# Use dummy empty data.frame
library(ggplot2)
ggplot(data.frame(),
# Submit x,y values as vectors that go every second entry
aes(pd$size[seq(2, nrow(pd), 2)], pd$size[seq(1, nrow(pd), 2)])) +
geom_point()