2016-03-21 14 views
0

私は植物(行)と授粉者(列)のマトリックスと相互作用頻度(この分析では0(相互作用なし)と1 私はビーガンパッケージを使用しており、種の累積曲線を作成しています。ビーガン累積曲線の予測

accum <- specaccum(mydata[1:47,], method = "random", permutations = 1000) 

plot(accum) 

私は今、私は追加の植物標本を見つける可能性が高いだろうが、私は予測コマンド内の「NEWDATA」を含める必要がどのような形式で把握することはできませんどのように多くの新しい花粉媒介種を予測したいと思います。私はマトリックス内のゼロで空の行と行を試しましたが、結果を得ることができませんでした。これは私が予測のために使用したコードです:

predictaccum1 <- predict(accum, newdata=mydata[48:94,]) 

エラーメッセージ:

Error in UseMethod("predict") : 
no applicable method for 'predict' applied to an object of class "specaccum" 

私が指定した場合、エラーメッセージが変更されません:interpolation = c("linear")"spline"を。

誰でも助けてください。

+0

あなたが 'predict'で試したコードを含めてください。 –

+0

私は次のように 'predict'コマンドを試しました: – AnkeS

+0

申し訳ありませんが、私は元の質問を編集できることを認識していませんでした... – AnkeS

答えて

4

これを置くことのない、おそらく最も明確な方法が、ドキュメントは言う:

newdata: Optional data used in prediction interpreted as number of 
      sampling units (sites). 

それはあなたが持っていた単位をサンプリング数でなければなりません。 1つの番号または1つのベクトルのベクトルが行います。しかし、predict関数は外挿することはできませんが、補間のみを行います。 fitspecaccumの非線形回帰モデルは外挿することができるかもしれませんが、それらを信頼する必要がありますか?

非線形回帰モデルは種の蓄積データを分析するために使用されますが、実際には確かに理論に基づいているわけではありません。これらは素晴らしい非線形回帰モデルです。私は確固たる基盤を持つかもしれないモデルをいくつか知っていますが、ビーガンに実装していませんが、寄付は歓迎します。しかし、データをサブサンプリングし、サブサンプルから外挿して全体の種数を推定できるかどうかを確認することで、問題の考えを得ることは可能です。以下は、BCIのデータをビーガンに設定する方法を示しています。これらのデータは、225種の50サンプルプロットを有する。私たちは25のプロットのサブサンプルを取り、50に外挿し:

mod <- c("arrhenius", "gleason", "gitay", "lomolino", "asymp", "gompertz", 
     "michaelis-menten", "logis", "weibull") 
extraps <- matrix(NA, 100, length(mod)) 
colnames(extraps) <- mod 
for(i in 1:nrow(extraps)) { 
    ## use the same accumulation for all nls models 
    m <- specaccum(BCI[sample(50,25),], "exact") 
    for(p in mod) { 
     ## need try because some nls models can fail 
     tmp <- try(predict(fitspecaccum(m, p), newdata=50)) 
     if(!inherits(tmp, "try-error")) extraps[i,p] <- tmp 
    } 
} 

私はこれを試したときは、ほとんどの外挿モデルは彼らの予測の中の種の正確な数が含まれていませんでしたが、すべての値が正しい豊かさよりも高いのいずれかであった(最悪からGorpertz、Michaelis-Menten、Lomolino、Weibull、これらの最後の2つは、その範囲の正確な豊かさを含んでいた)。

要約:理論と適切なモデルの欠如のために、外挿してください。

+0

他のすべてのモデル同様、それらを信頼する必要があります。 :) –

+0

ご協力いただきありがとうございます。私は適切なものを見つけ出すことはできませんでした。私の知識は十分ではなく、ヘルプマニュアルは理解できません。一連の追加サンプルで発見された新種の数を予測する方法についての提案はありますか?私はspecslope(object、at)がサンプリングされた範囲内で新種の増加を与えるのを見ることができますが、私が実際に必要とするのは外挿です。私は47個のサンプルを採取し、50個のサンプルで見つかる可能性のある新種の数を知りたいと思っています... – AnkeS

+0

specaccumで使用する蓄積モデルの種類と非線形回帰モデルあなたは正当な理由で申請します。再度、新しいデータは新しいサイトの数だけ必要です。次の例では、ビーガンのBCIデータを使用しています。これらのデータは50個のプロットを持ち、「正確な」累積法とMichaelis-Menten適合モデルを使用してその数を2倍に推論します: 'predict(fitspecaccum(BCI、mich、exact)、newdata = 100)'。しかし、これは**の外挿**です。私はこれを全く信用しません: '' mich ''や' 'exact''を選択肢に変更してみてください。 –