我創建了非線性函數的最佳擬合。它似乎工作正常:爲最佳擬合非線性曲線繪製新值
#define a function
fncTtr <- function(n,d) (d/n)*((sqrt(1+2*(n/d))-1))
#fit
dFit <- nls(dData$ttr~fncTtr(dData$n,d),data=dData,start=list(d=25),trace=T)
summary(dFit)
plot(dData$ttr~dData$n,main="Fitted d value",pch=19,)
xl <- seq(min(dData$n),max(dData$n), (max(dData$n) - min(dData$n))/1000)
lines(xl,predict(dFit,newdata=xl,col=blue)
我的意見的陰謀出來正確。我有問題要在我的情節中展示最佳擬合曲線。我創建了1000個值的xl自變量,我想用最合適的方式定義新值。當我稱之爲「線」過程中,我得到錯誤信息:
錯誤xy.coords(X,Y):「X」和「Y」長度不同 如果我只嘗試執行預測功能:
a <-predict(dFit,newdata=xl)
str(a)
我可以看到XL擁有1000個組件,而是 「一個」 只有16個組件。我不應該有一個相同數量的值嗎?使用
數據:
n ttr d
1 35 0.6951 27.739
2 36 0.6925 28.072
3 37 0.6905 28.507
4 38 0.6887 28.946
5 39 0.6790 28.003
6 40 0.6703 27.247
7 41 0.6566 25.735
8 42 0.6605 26.981
9 43 0.6567 27.016
10 44 0.6466 26.026
11 45 0.6531 27.667
12 46 0.6461 27.128
13 47 0.6336 25.751
14 48 0.6225 24.636
15 49 0.6214 24.992
16 50 0.6248 26.011
有沒有可能包含您的數據或數據的樣本,以便我們可以嘗試你的代碼,看看問題出在哪裏從何而來? – plannapus 2013-03-02 09:54:09
我已附上數據 – user963386 2013-03-02 09:58:46
我應該補充一點,我是R新手。我已經對「d值」(在數據中)進行了一些估計。該程序的目的是優化「d值」 。 – user963386 2013-03-02 10:05:36