[AniMov] kNNCH code questions?

Wayne Getz getz at nature.berkeley.edu
Wed Jan 19 14:04:39 CET 2005


Hi Sander:

Just an update for you.  We have made our method 
available as an ARC VIEW extension at the url 
http://nature.berkeley.edu/~alyons/locoh.  We 
have decided to call our method LoCoH for local 
convex hull.

I am really happy that you guys are going to be 
making the method available as part of AniMov. 
If we can help in any way, let us know.

All the best

Wayne


>Dear Clement,
>
>A while ago we exchanged emails about the kNNHC 
>function from Wayne Getz. I have copied the 
>relevant bit at the bottom. I am diving into the 
>functions now to do some preliminary analysis of 
>my sable movements, using the following code:
>
>x <- rnorm(100)
>y <- rnorm(100)
>
>XYnnch <- data.frame(X=x, Y=y)
>
>aa1<-NNCH(XYnnch, k=5)
>aa2<-NNCH(XYnnch, k=10)
>aa3<-NNCH(XYnnch, k=15)
>print(aa1)
>NNCH.area(aa1)
>par(mfrow=c(2,2)) # a 2 by 2 matrix of plots
>plot(x,y)
>plot(aa1, add.points=FALSE)
>plot(aa2, add.points=FALSE)
>plot(aa3, add.points=FALSE)
>
>Problems, suggestions and questions:
>1) I would like to get insight into the data by 
>plotting several plots in a single graph, but it 
>won't work (had the same problem with plots from 
>hexbin package as well). Maybe I am missing 
>something basic about R plotting!?
>2) The method is indeed rather slow (for big 
>data sets), but I can just make myself some 
>coffee.
>3) I would like to save the kNNCH polygons to a 
>GIS file. Are the polygons available somewhere? 
>Preferably I would be able to save individual 
>layers for each k, or the polygons would have 
>the k level as one of their attributes. This 
>would allow for powerful GIS analysis later on.
>4) I assume that the NNCH.area function puts out 
>various percentages of the total area covered by 
>all polygons in the kNNCH. Would it be possible 
>to provide the area covered by each individual 
>level of k? I think there might be some 
>ecological relevance in the the way area 
>increases with increasing k! Following Figure 3 
>in Getz et al 2004 Ecography 27:489.
>Alternatively I could write a loop for each k 
>and store the total area, but than I recalculate 
>all the previous k's each time as well. With the 
>method being slow, that is quite a penalty.
>5) I also think there will be ecological 
>relevance in the changes in home range size 
>through time. Thus I have been trying to run the 
>NNCH analysis in a moving window function. The 
>aim is to end up with a dataframe with the 
>window ID, the associated NNCH area, and the 
>mean 'date' of the moving window, so I can plot 
>NNCH area against time. However, hacking other 
>people's code is risky if you have no clue what 
>you are hacking. Can you help me out with this 
>(maybe you know of a better moving window 
>function. I came across this one on the R list):
>
>movingWindowNNHC <- function(data, width, k, units) {
>    mCall = match.call()
>    mCall$width = NULL
>    mCall[[1]] = as.name("lm")
>    mCall$x = mCall$y = TRUE
>    bigfit = eval(mCall, parent.frame())
>    ncoef = length(coef(bigfit))
>    nr = nrow(data)
>    width = as.integer(width)[1]
>    stopifnot(width >= ncoef, width <= nr)
>    y = bigfit$y
>    x = bigfit$x
>    terms = bigfit$terms
>    inds = embed(seq(nr), width)[, rev(seq(width))]
>    multiNNCH <- lapply(seq(nrow(inds)),
>                     function(st) {
>                         aa1<-NNCH(data, k=k, units=units)
>                         areaNNCH <- NNCH.area(aa1, percent=100)
>                         areaNNCH[,1]
>
>                     })
>}
># parameters: data, width of window, k, units
>test <- movingWindowNNHC(XYnnch, 5, 5, "m")
>multiNNCH
>
>I'm sure I will come up with more later on, but this is it for now!
>
>Thanks for any help and suggestions,
>
>Sander.
>
>###############################################
>
>>3) I met Wayne Getz earlier this year. His new 
>>home range method looks very promising. It 
>>should fit in very well with AdeHabitat, as it 
>>is spatially explicit. Problem is to get it 
>>programmed into R. Please have a look at his 
>>paper! What do you think?
>>http://www.cnr.berkeley.edu/%7Egetz/Reprints04/Getz&WilmersEcography04. 
>><http://www.cnr.berkeley.edu/%7Egetz/Reprints04/Getz%26WilmersEcography04.pdf>pdf 
>><http://www.cnr.berkeley.edu/%7Egetz/Reprints04/Getz%26WilmersEcography04.pdf>
>
>
>I have heard from this method, and I find it 
>very interesting. Many biologists of Lyon 
>working with Wayne Getz
>have pointed out its attractive characteristics 
>to me. Other studies are of course needed on 
>this method,
>especially concerning the effect of the number 
>of relocations on the estimates and the choice 
>of the
>number of neighbours to take into account in the 
>estimation. But I agree with you that such a 
>method
>would fit well in adehabitat, at least as an 
>exploratory tool of the features of a point 
>pattern (see the good
>results on the data set chamois of the package adehabitat, below).
>I have programed it some time ago to investigate 
>its properties, but I never took the time to 
>make the functions general
>enough to include it in the package, i.e. 
>several questions are still unresolved (still 
>very slow in R, how to use it
>concretely? should home ranges be stored as 
>objects of class "area" ? which functions are 
>needed to deal
>with the estimations ? etc.).
>And above all, I never took the time to do the 
>longer part of the work for a non-english 
>speaker, when
>writing a function for a package: write the help 
>page to describe the use and the principle of 
>the method.
>Please find attached the R file containing the 
>code of the functions (it needs the package 
>gpclib) as well as an example
>of use of the functions with the data set "chamois" of the package.
>Can you have a look at the attached files and tell me your opinion on it ?
>
>Sincerely,
>
>
>Clément Calenge
>
>_______________________________________________
>AniMov mailing list
>AniMov at faunalia.com
>http://www.faunalia.com/cgi-bin/mailman/listinfo/animov


-- 
___________________________________________________________
___________________________________________________________
   Professor Wayne M. Getz
   Department Environmental Science Policy & Management
   201 Wellman Hall
   University of California at Berkeley
   CA 94720-3112, USA

   Campus Visitors: My office is in 5052 VLSB

   Fax:    (1-510) 642-7428
   Office:    (1-510) 642-8745
   Lab:  (1-510) 643-1227
   email:  getz at nature.berkeley.edu
   http://www.CNR.Berkeley.EDU/~getz/
___________________________________________________________
___________________________________________________________



More information about the AniMov mailing list