2015-11-11 4 views
1

Я хотел бы экстраполировать линейную подгонку на данные по подмножеству данных в ggplot2 за пределами области данных (для визуализации опасности экстраполяции). В следующем коде, я хотел бы расширить линейную аппроксимацию порождает над 1980-1990 кадром в 1990-2000 таким образом, что я могу затем добавить полное прилегание в течение всего периода времени, и визуализировать разницу:Экстраполировать линейную посадку для диаграммы рассеяния в ggplot2 в R

set.seed(123)   
frame <- data.frame(year = rep(1980:2000, 10), y = sample(1:1000, 210)) 
head(frame) 

frame1 <- frame[frame$year %in% c(1980:1990),] 
frame2 <- frame[frame$year %in% c(1980:2000),] 

ggplot(frame1, aes(x = year, y = y)) + geom_point(shape = 1) + geom_smooth(method = lm) + xlim(1980, 2000) 
ggplot(frame2, aes(x = year, y = y)) + geom_point(shape = 1) + geom_smooth(method = lm) + xlim(1980, 2000) 

Я новичок в ggplot2, поэтому любые идеи о том, как расширить линейную подгонку из первого кадра, а затем добавить данные, а новая подгонка с другим цветом будет отличной. Благодарю.

ответ

4

Вы можете попробовать

ggplot(frame2, aes(x = year, y = y)) + 
    geom_point(shape = 1) + 
    geom_smooth(method = lm, se=FALSE) + 
    geom_smooth(data=frame1, method = lm, fullrange=TRUE, se=FALSE, colour="red") + 
    xlim(1980, 2000) 

enter image description here

+0

Это здорово - спасибо. –

Смежные вопросы