У меня есть данные с сайта USGS Nation Water Data. В настоящее время я пытаюсь построить кривые и использовать кривые для использования в предсказании для разных измерений, взятых в наборе данных (растворенный кислород, pH, высота и темп измерения) по отношению к скорости разряда. Я использовал команду «nls», и я использую книгу уравнений, чтобы найти, какую кривую использовать ... для этого примера я специально использовал уравнение Шумахера (стр.48 в книге).Использование «прогнозирования» в nls
Найти ссылку на данные:
кривой книга: http://www.for.gov.bc.ca/hfd/pubs/docs/bio/bio04.htm
Моя проблема заключается в том, что я не могу получить NLS предсказать новые значения, когда я выбрал кривую закодировал ... Я также не могу понять, как это сделать ... Я предполагаю, что это может быть с остатками? В коде я использовал «агрегат» для извлечения средств перечисленных измерений и соответствующих скоростей разряда, теперь мне просто нужно заставить R предсказать для меня. Я дошел до того, что получил то, что, как мне кажется, был подгонял ценности ... но я не уверен, и я ударил стену «? Nls».
##Create new dataframes with means given date for each constituent
ph <- aggregate(Discharge~pH, data=River.Data, mean)
##pH models
pH <- ph$pH
disch <- ph$Discharge
phm <- nls(disch~exp(a+(b/pH)), data=ph, trace=T, start=list(a=-47.06 ,b=400.2))
newph<- data.frame(ph=c(3.0,4.0,5.0,6.0,7.0,8.0,9.0))
predict(phm, newdata=newph)
Это немного сложно: вы должны использовать ** точно ** те же самые имена переменных в 'прогнозе', что и в исходной модели. В противном случае «предсказать», как вы нашли, возвращает установленные значения без предупреждения. Я думаю, что 'pred (phm, newdata = list (ph = newph))' будет работать. –
Carl Я попробовал это ... он все еще возвращает установленные значения. Это разочаровывающая часть, о которой я не могу понять, почему она возвращает только эти установленные значения: pred (phm, newdata = newph) [1] 663.69857 460.76412 322.92607 228.39464 162.95840 117.25539 85.05862 62.18766 – Jarrod