epoh 发表于 2012-3-22 19:56 
麻烦你你把数据传上来
并把你求response bas,vol的公式列出来
library( systemfit )
rd<-read.csv("11.csv")
STEM.formula<-STEM~ a1*DBH^b1/( a1*DBH^b1+ a2*DBH^b2+
a3*DBH^b3* H^c3*CW^d3+ a4*DBH^b4* H^c4*CW^d4+
a5*DBH^b5)* (a0*DBH^b0)
SKIN.formula<-SKIN~ a2*DBH^b2/( a1*DBH^b1+ a2*DBH^b2+
a3*DBH^b3* H^c3*CW^d3+ a4*DBH^b4* H^c4*CW^d4+
a5*DBH^b5)* (a0*DBH^b0)
LEAF.formula<-LEAF~ a3*DBH^b3* H^c3*CW^d3 /( a1*DBH^b1+ a2*DBH^b2+
a3*DBH^b3* H^c3*CW^d3+ a4*DBH^b4* H^c4*CW^d4+
a5*DBH^b5)* (a0*DBH^b0)
BRANCH.formula<-BRANCH~ a4*DBH^b4* H^c4*CW^d4/( a1*DBH^b1+ a2*DBH^b2+
a3*DBH^b3* H^c3*CW^d3+ a4*DBH^b4* H^c4*CW^d4+
a5*DBH^b5)* (a0*DBH^b0)
UNDER.formula<-UNDER~ a5*DBH^b5/( a1*DBH^b1+ a2*DBH^b2+
a3*DBH^b3* H^c3*CW^d3+ a4*DBH^b4* H^c4*CW^d4+
a5*DBH^b5)* (a0*DBH^b0)
TOTAL.formula<-TOTAL~ a0*DBH^b0/( a1*DBH^b1+ a2*DBH^b2+
a3*DBH^b3* H^c3*CW^d3+ a4*DBH^b4* H^c4*CW^d4+
a5*DBH^b5)* (a0*DBH^b0)
labels <- list( " STEM.formula ", " SKIN.forula ", " LEAF.formula ", " BRANCH.formula ",
" UNDER.formula ", " TOTAL.formula ")
inst <- ~ DBH+H+CW+STEM+SKIN+LEAF+BRANCH+UNDERL+TOTAL
start.values <- c(a0=0.19,b0=2.5,a1=0.06,b1=2.5,a2=0.03,b2=2,a3=0.4,b3=1.5,c3=-0.9,d3=1,
a4=0.2,b4=2.8,c4=-1.8,d4=1.2,a5=0.01,b5=2.6)
model<-list(STEM.formula, SKIN.formula, LEAF.formula,BRANCH.formula,
UNDER.formula ,TOTAL.formula)
model.ols <- nlsystemfit( "OLS", model, start.values, data=rd, eqnlabels=labels )
出现错误提示:
错误于kronecker(X, Y) :
在为'kronecker'函数选择方法时评估'X'参数出了错: 错误于diag(diag(qr.solve(S, tol = solvtol))) :
在为'diag'函数选择方法时评估'x'参数出了错: 错误于diag(qr.solve(S, tol = solvtol)) :
在为'diag'函数选择方法时评估'x'参数出了错: 错误于qr.solve(S, tol = solvtol) : solve里的'a'是奇异矩阵
求您帮我分析一下原因,非常感谢