0
我有一些來自本地流的年度高峯流量數據,並且想要創建洪水頻率圖。這是我的數據樣本:在R的對數圖上繪製非線性趨勢線
#Set up maximum flow data
flow=sample(seq(10,1000,20),100,replace=TRUE)
#Order flows from largest to smallest
flow=as.data.frame(flow[order(flow, decreasing=TRUE)])
names(flow)="max"
#rank flows from largest to smallest
flow$"rank"=seq(1,nrow(flow),1)
#Calculate the return interval in years
flow$"RI"=(nrow(flow)+1)/flow$"rank"
plot(flow$"max"~flow$"RI",type='p', log='xy',xlab='Return Interval', ylab='Max flow')
接下來我能計算出對數函數,以獲得最佳的用線:
logMod = nls(max ~ (a*log10(RI)+b), data=flow,
start = list(a = 0, b = 0))
現在我真正的問題是如何繪製這條線在上面創建的對數日誌圖上,而不必每次檢查我的nls函數中創建的變量是什麼?我想要一些方法來快速繪製最佳擬合線,如果我不喜歡它,請將nls函數改爲一種新的非線性方程。例如,如果對數線與數據不一致,我可以將nls函數中的公式改爲指數函數或多項式函數。
再次感謝MrFlick!很有幫助。 – Pinus2Quercus