2012-04-23 3 views
6

私は位置推定のデータベースを持っており、毎月のカーネル利用率分布を計算したいと考えています。 Rのadehabitatパッケージを使用してこれを行うことができますが、データベースからサンプルを採取したブートストラップを使用して、これらの値の95%信頼区間を見積もりたいと思います。 今日、私はブートパッケージを試してきましたが、私はまだRをかなり新しくしており、さらに専門家の助けが必要です!私は取得しています 主なエラーメッセージは次のとおりです。ブートストラップ:統計情報のエラー(データ、オリジナル、...):未使用の引数(元)

head(all) 
Num   Hourbin COA_Lat COA_Lon POINT_X POINT_Y month year id 
1 07/10/2010 15:00 48.56225 -53.89144 729339.9 5383461 October 2010 29912 
2 07/10/2010 16:00 48.56254 -53.89121 729355.7 5383495 October 2010 29912 
4 07/10/2010 18:00 48.56225 -53.89144 729339.7 5383461 October 2010 29912 
5 07/10/2010 19:00 48.56225 -53.89144 729339.9 5383461 October 2010 29912 
6 07/10/2010 20:00 48.56225 -53.89144 729339.8 5383461 October 2010 29912 
7 07/10/2010 21:00 48.56225 -53.89144 729339.9 5383461 October 2010 29912 

を列5と6は、XとY位置された状態で、それぞれ:ここ

Error in statistic(data, original, ...) : unused argument(s) (original) 

は、私が使用してきたファイルを見ています。私は、このデータセットを別々の月にサブセット化しています(つまり、 "oct"、 "nov"などのファイルを取得する)。私はadehabitatパッケージのkernelUD関数をブートストラップのために呼び出すことができる関数に設定しようとしましたが、これまでのところ運がありませんでした。

kUDoct<-function(i) kernel.area(oct[,5:6],oct[,10],kern="bivnorm",unin=c("m"),unout=c("km2")) 
bootoct<-boot(oct,kUDoct,R=1000) 
Error in statistic(data, original, ...) : unused argument(s) (original) 

ご協力いただければ幸いです。あなたが抱えている

M

+1

'kernel.area'とは何ですか? 「すべて」はどこですか? 'oct 'はどのように見えますか? 'kUDoct'が体内でインデックス' i'を使わないのはなぜですか? –

答えて

5

まあ、問題は、あなたがあなたを直接ドキュメントとしてboot機能を使用していないということです。これはあなたの関数が少なくとも二つの引数を取るように定義すべきであることを意味し

A function which when applied to data returns a vector containing the statistic(s) of interest. When sim = "parametric", the first argument to statistic must be the data. For each replicate a simulated dataset returned by ran.gen will be passed. In all other cases statistic must take at least two arguments. The first argument passed will always be the original data. The second will be a vector of indices, frequencies or weights which define the bootstrap sample.

注こと:?bootから、我々は2番目の引数は、statisticがあることがわかります。あなたは1つだけを受け入れます(そして、それを完全に無視します)。

オリジナルのデータと指標のベクトルを渡すことが考えられます。次に、 "ブートストラップサンプル"を構成するそれらの指標を使用して元のデータをサブセット化することによって、関心のある統計量を計算します。

ので、代わりにこの:

kUDoct<-function(i) kernel.area(oct[,5:6],oct[,10],kern="bivnorm",unin=c("m"),unout=c("km2")) 
bootoct<-boot(oct,kUDoct,R=1000) 

あなたはおそらくより、このような何かをしたいと思います:

kUDoct<-function(dat,ind) kernel.area(dat[ind,5:6],dat[ind,10],kern="bivnorm",unin=c("m"),unout=c("km2")) 
bootoct<-boot(oct,kUDoct,R=1000) 

しかし、私はあなたのように、あなたが得る可能性のある他のエラーを診断することはできません例は完全に再現可能ではありません。

+0

あなたの迅速な対応に感謝します!私は1つの議論しか持っていないことに気がついたので、あなたの提案に似たことをしました。これは現在実行中です。 kudoct <-function(data、indices){ kUDoct <-kernel.area(oct [、5:6]、oct [、10]、kern = "bivnorm"、unin = c( "m")、unout = c ( "km2") } bootoct <-boot(data = oct、statistic = kudoct、R = 1000) – user1195564

+0

@ user1195564これは動作しません。私の例と '?boot'の例を注意深く見てください。 – joran

+0

ああ、はい、どこが間違っているのか分かります。私はあなたの提案に従って書式を設定し、試してみます。ありがとう! – user1195564

関連する問題