2016-09-14 4 views
1
mod = lm(iris$Petal.Length ~ iris$Petal.Width + iris$Species) 
plot(iris$Petal.Length ~ iris$Petal.Width, col = iris$Species) 
abline(mod) 

enter image description hereR: добавление нескольких линий регрессии и лёссовые кривой для построения

Здесь я расслаивание Species, и я хочу, чтобы построить 3 линии регрессии, по одному для каждого вида. abline(mod), кажется, добавляет только одну строку. Кроме того, что, если бы я хотел добавить кривую LOESS?

+0

Вы хотите, чтобы это было в базовом плане, а не ggplot, что делает эту вещь супер простой? – RoyalTS

ответ

2

ggplot Однострочник:

library(ggplot2) 

ggplot(iris, aes(Petal.Width, Petal.Length, color=Species)) + geom_point() + geom_smooth(method='lm', formula=y~x) 

Оставить из аргументов в geom_smooth() и вы получите Лессовую линию. Однако данные здесь настолько скудны, что это не удается.

1
mod = lm(iris$Petal.Length ~ iris$Petal.Width + iris$Species) 
plot(iris$Petal.Length ~ iris$Petal.Width, col = iris$Species) 
abline(coefficients(mod)[1], coefficients(mod)[2]) 
abline(coefficients(mod)[1], coefficients(mod)[3]) 
abline(coefficients(mod)[1], coefficients(mod)[4]) 
Смежные вопросы