2012-04-23 6 views
6

Mam bazę danych szacunków pozycji i chcę obliczyć miesięczne rozkłady wykorzystania jądra. Mogę to zrobić za pomocą pakietu adehabitat w R, ale chciałbym oszacować 95% przedziały ufności dla tych wartości za pomocą ładowania tych próbek z bazy danych. Dzisiaj eksperymentowałem z pakietem rozruchowym, ale wciąż jestem całkiem nowym użytkownikiem R i potrzebuję dodatkowej pomocy eksperckiej! Głównym komunikat dostaję to:Bootstrapping: Błąd w statystyce (dane, oryginał, ...): nieużywany argument (oryginalny)

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

Oto spojrzenie na plik Używam:

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 

Z kolumn 5 i 6 o wartości X i Y odpowiednio pozycje . I podzbiór tego zestawu danych na różne miesiące (tj. Pobieranie plików o nazwie "oct", "nov", itp.). Próbowałem ustawić funkcję kernelUD w pakiecie adehabitat jako funkcję, którą mogę wywołać podczas ładowania, ale do tej pory nie miałem szczęścia.

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) 

Każda pomoc będzie bardzo ceniona!

M

+1

Co to jest 'kernel.area'? Gdzie jest "wszystko"? Jak wygląda "oś"? Dlaczego 'kUDoct' nie używa indeksu' i' w ciele? –

Odpowiedz

5

No problem, że masz to, że nie korzystasz z funkcji boot jako dokumentacja skierować cię do. Od ?boot widzimy, że drugi argument, statistic jest:

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.

Zauważ, że oznacza to funkcja powinna być zdefiniowana do podjęcia przynajmniej dwa argumenty. Twój akceptuje tylko jeden (a następnie całkowicie go ignoruje, co dziwne).

Chodzi o to, aby przekazać oryginalne dane i wektor oznaczeń. Następnie obliczysz swoją statystykę, podseparowując oryginalne dane za pomocą tych wskaźników, które będą stanowić "próbkę początkową".

tego Więc zamiast:

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

Można by pewnie chcesz zrobić coś więcej tak:

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) 

Ale nie mogę zdiagnozować jakiekolwiek inne błędy można uzyskać, jako swój przykład nie jest w pełni odtwarzalny.

+0

Dziękujemy za szybką odpowiedź! Zdałem sobie sprawę, że miałem tylko jeden argument, więc zrobiłem coś podobnego do twojej sugestii, która działa już teraz, więc zobaczymy, czy to działa! kudoct <-funkcja (dane, indeksy) { kUDoct <-kernel.area (oct [, 5: 6], oct [, 10], kern = "bivnorm", unin = c ("m"), unout = c ("km2")) return (summary (kUDoct)) } bootoct <-boot (dane = oct, statystyka = kudoct, R = 1000) – user1195564

+0

@ user1195564 To nie zadziała. Przyjrzyj się uważnie mojemu przykładowi, a także przykładom z '? Boot'. – joran

+0

ah, tak, widzę, gdzie idę źle. Będę formatować rzeczy zgodnie z twoją sugestią i spróbuję. DZIĘKI! – user1195564

Powiązane problemy