Добавление двух регрессионных графов, имеющих проблему в точках и линиях - PullRequest
0 голосов
/ 20 января 2019

Я нигде не могу найти свой ответ.У меня есть две линии регрессии из двух разных наборов данных.Я пытаюсь поместить эти две линии регрессии в один график.Следующее сработало хорошо.

regression1<-lm(Y ~ X, data = mydata1) 
regression2<-lm(Y ~ X, data = mydata2)
abline(regression1)
abline(regression2)

Однако на этом графике у меня просто есть линии и у меня нет точек.Я запускаю:

regression1<-lm(Y ~ X, data = mydata1)
regression2<-lm(Y ~ X, data = mydata2)
plot(c(0,2),c(0,2),type="n") +
points(rnorm(200), rnorm(200), col = "red") 
abline(regression1) 
abline(regression2)

С помощью этой команды у меня были только точки, и у меня нет строк, но у меня все равно не работает.Я хочу иметь один график с двумя разными линиями (представляющими подогнанные линии каждой регрессии) и точками этих регрессий.Я хочу это с разными цветами.Любая помощь будет оценена.Спасибо

1 Ответ

0 голосов
/ 20 января 2019

Когда, используя базовую графику 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

Код создания данных.

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...