2017-06-18 7 views
0

私は、木質密度を持ついくつかの種の共通のバイオマスモデルを開発しようとしています。ここ密度のあるバイオマスモデル

私のデータが

Species_Name DBH_cm Wood_Density  Leaf_Biomass_kg 
Aam    10.9   0.55    4.495175666 
Aam    8.3   0.55    3.003987585 
Aam   18.3   0.55    7.0453234 
Akashmoni  26.6   0.68    8.68327883 
Akashmoni  18   0.68    5.514198965 
Akashmoni  20.6   0.68    7.140993296 
Amloki   13.7   0.64    0.418757191 
Amloki   14.6   0.64    0.348964326 
Amra   19   0.29    0 
Arjun   13.3   0.82    0 
Bajna   13   0.70    0 
Bel   19.6   0.83    0.458638794 
Sal   14.40   0.82    0.996750392 
Sal   12.20   0.82    0.644956136 
Sal   10.00   0.82    0.947928706 
Sal   14.20   0.82    0.767434214 
Sal   11.50   0.82    0.636970398 
Sal   13.20   0.82    0.445111844 
Sal   13.30   0.82    0.706039477 
Sal   10.70   0.82    0.475809213 

を設定している私は私のモデルコードは、それが

を与える

library(nlme) 
start <- coef(lm(log(Leaf_Biomass_kg)~log(DBH_cm)+log(Wood_Density), data=tree)) 
start[1] <- exp(start[1]) 
names(start) <- c("a","b1", "b2") 

m <- nlme(Leaf_Biomass_kg~a*DBH_cm^b1*Wood_Density^b2, 
         data=cbind(tree,g="a"), 
         fixed=a+b1+b2~1, 
         start=start, 
         groups=~g, 
         weights=varPower(form=~DBH_cm)) 

ある

tree[which(tree$Leaf_Biomass_kg == 0),]$Leaf_Biomass_kg <- NA 

を使用して欠損値にNAを与えることを試みましたfiniteDiffGradで

エラー(モデル、データ、扁平部): のNAは添字割り当て

で許可されていない、誰もがこの点

で私を助けることができる私は私のモデルでna.action = na.excludeを追加問題は引き続き存在します。

m <- nlme(Leaf_Biomass_kg~a*DBH_cm^b1*Wood_Density^b2, 
         data=cbind(tree,g="a"), 
         fixed=a+b1+b2~1, 
         start=start, 
         groups=~g, 
         weights=varPower(form=~DBH_cm) 
         na.action=na.exclude) 
+0

私のモデルにna.action = na.excludeを追加しましたが、同じエラーが表示されます。 –

答えて