使用nls()函数生成von Bertalanffy增长模型时出现“奇异梯度”错误

时间:2020-01-17 17:58:47

标签: r gradient nls singular

我正在尝试在R中生成一个使用nls()函数的von Bertalanffy增长模型,但是会出现“奇异梯度”错误

数据集“ FladenA”是指我的样本所来自的位置,并且包含“最大高度”和“年龄”数据,这是模型所需的两个变量

这是我用来帮助制作模型的pdf文件 http://derekogle.com/fishR/examples/oldFishRVignettes/VonBertalanffy.pdf

#load in the appropriate packages
library(FSA)
library(FSAdata)
library(nlstools)

#generate reasonable starting values using vbStarts
svTypical <- vbStarts(Max_Height~Age,data=FladenA)

# unlist used only to save space when viewing the results
unlist(svTypical)

#      Linf          K         t0 
#63.1980478  0.1035328  4.5816629 

# creating object that contains a list of the identified starting values
svTypical <- list(Linf=63.1980478,K=0.1035328,t0= 4.5816629)

nls()函数需要增长模型表达式作为第一个参数,并用适当的变量名代替通用的长度和年龄变量,即从中绘制变量data=的数据框,以及在start =参数中包含起始参数值的列表。与往常一样,应将模型拟合分配给对象以进行进一步分析。

#Name and input the growth model 
vbTypical <- Max_Height~Linf*(1-exp(-K*(Age-t0)))

# use the nls function with the vbTypical as the growth model expression, dataset for which to draw the variables as Fladen A, and the list containing the starting parameter values as svTypical

fitTypical <- nls(vbTypical,data=FladenA,start=svTypical)

nls中的错误(vbTypical,数据= FladenA,开始= svTypicala):
奇异梯度

这个“奇异梯度”就是问题所在,有人知道如何解释这个问题以及如何解决吗?

0 个答案:

没有答案