Когда, используя базовую графику R, вы что-то наносите, а на графике это не проявляется, скорее всего, вы вычерчиваете это за пределами области построения. В приведенном ниже примере я позабочусь о том, чтобы все было в области графика, сначала получив соответствующие пределы оси x
и y
.
Первые две строки кода делают свое дело.
rangeX <- range(c(mydata1$X, mydata2$X))
rangeY <- range(c(mydata1$Y, mydata2$Y))
regression1 <- lm(Y ~ X, data = mydata1)
regression2 <- lm(Y ~ X, data = mydata2)
plot(rangeX, rangeY, type = "n", xlab = "X", ylab = "Y")
with(mydata1, points(X, Y, col = "red"))
with(mydata2, points(X, Y, col = "blue"))
abline(regression1, col = "red")
abline(regression2, col = "blue")
![enter image description here](https://i.stack.imgur.com/DEzaQ.png)
Код создания данных.
set.seed(1234)
n <- 20
x <- seq_len(n) + rnorm(n)
mydata1 <- data.frame(X = x, Y = x + rnorm(n))
x <- seq_len(n) + rnorm(n)
mu <- 3
mydata2 <- data.frame(X = x + rnorm(n), Y = mu + x + rnorm(n))