Маркировка остатков на диагностических графиках

Я сделал модель линейной регрессии в R с 3 непрерывными независимыми переменными и одной непрерывной зависимой переменной. Я создал диагностические графики.

Теперь я хотел бы пометить/окрасить точки данных для каждого остатка на моих диагностических графиках в соответствии с бинарной категориальной независимой переменной, которая не была включена в модель;

т. е. когда эта переменная = A, мне нужна синяя точка на моем диагностическом графике, а когда эта переменная = B, мне нужна красная точка, поэтому на моих диагностических графиках будут красные и синие точки.

Хотелось бы совета, как это сделать.


person Community    schedule 15.09.2014    source источник


Ответы (1)


[Вы не указываете, с какими диагностическими графиками вы пытаетесь это сделать. Вы также не привели минимальный воспроизводимый пример, что затрудняет изменение того, что вы делали, чтобы делать то, что вы хотите.]

Я приведу пример команды, которая делает то, что вам нужно, и вы сможете адаптировать ее к любым дисплеям, которые вам нужны.

 library(MASS)
 catsmdl <- lm(Hwt~Bwt,cats)
 plot(residuals(catsmdl)~fitted(catsmdl), col=cats$Sex)
 abline(h=0, col=8, lty=3)

который дает:

введите здесь описание изображения

Это работает даже с plot.lm, потому что у него есть аргумент ... для передачи информации функциям построения графика более низкого уровня. Так, например:

opar <- par()
par(mfrow=c(2,2))
plot(catsmdl,col=c("blue","darkorange")[as.numeric(cats$Sex)])
par(opar)

введите здесь описание изображения

Если вы замените c("blue","darkorange") на любые цвета, которые вам нравятся, это должно сработать. (Существует множество способов указать цвета в R.)

person Glen_b    schedule 15.09.2014