Скажите, что некоторые данные, d
, и я подгоняю модели nls двум подмножествам данных.построение nls соответствует с перекрывающимися интервалами прогнозирования в одной цифре
x<- seq(0,4,0.1)
y1<- (x*2/(0.2 + x))
y1<- y1+rnorm(length(y1),0,0.2)
y2<- (x*3/(0.2 + x))
y2<- y2+rnorm(length(y2),0,0.4)
d<-data.frame(x,y1,y2)
m.y1<-nls(y1~v*x/(k+x),start=list(v=1.9,k=0.19),data=d)
m.y2<-nls(y2~v*x/(k+x),start=list(v=2.9,k=0.19),data=d)
Затем я хочу построить привязанную модельную регрессионную линию по данным и затенять интервал предсказания. Я могу сделать это с помощью пакета investr
и получить хорошие участки для каждого подмножества в отдельности:
require(investr)
plotFit(m.y1,interval="prediction",ylim=c(0,3.5),pch=19,col.pred='light blue',shade=T)
plotFit(m.y2,interval="prediction",ylim=c(0,3.5),pch=19,col.pred='pink',shade=T)
Однако, если я сюжет их вместе у меня есть проблема. Затенение второго участка покрывает точки и затенение первого участка:
1: Как я могу убедиться, что точки на первом участке заканчиваются поверх затенения второго участка?
2: Как я могу сделать область, где затененные интервалы прогнозирования перекрывают новый цвет (например, фиолетовый или любое слияние двух цветов, перекрывающихся)?
Вы уверены, что эти интервалы предсказания, которые вы хотите? Мне не ясно, как быстро просмотреть документацию, если они предназначены для обратного предсказания или для обычного предсказания. Во всяком случае, для первого вопроса: 'points (y1 ~ x, data = d)', для второго вопроса вам нужны полупрозрачные цвета, и я считаю, что они не поддерживаются на большинстве устройств. Вы можете повторно реализовать функцию 'plotFit' с ggplot2, где вы можете просто указать' alpha = 0.3'. – Roland
@roland yes Я уверен, что это промежутки предсказания, которые я хочу. Можете ли вы представить пример того, как я буду использовать plotfit в ggplot2? – colin
Я мог бы, но это было бы слишком большой инвестицией времени. – Roland