I'm trying to calculate home range size of individuals. So, I'm studying several functions in adehabitatHR
package, including MCP()
, KernelUD()
, kernellbb()
and BRB()
.
I'd like to use same grid of background for those analyses. so I made a grid like this, after read this link and this link.
> str(GU2)
'data.frame': 2669 obs. of 5 variables:
$ month : int 2 2 2 2 2 2 2 2 2 2 ...
$ Collecting: POSIXct, format: "2023-02-04 00:01:00" ...
$ Longitude : num 108181 108170 108050 108007 107973 ...
$ Latitude : num 510220 510186 510133 510114 510075 ..
# Setting CRS
> coordinates(GU2) <- c("Longitude", "Latitude")
> proj4string(GU2) <- CRS("+proj=longlat +datum=WGS84 +no_defs") #+init=epsg:4326
> GU2 <- spTransform(GU2, CRS("+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"))
# Grid
> x <- seq(min(GU2$Longitude), max(GU2$Longitude), by=50)
> y <- seq(min(GU2$Latitude), max(GU2$Latitude), by=50)
> xy <- expand.grid(x=x,y=y)
> coordinates(xy) <- ~x+y
> gridded(xy) <- TRUE
> proj4string(xy) <- CRS("+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
# BBMM analysis
> GU2_traj <- as.ltraj(xy = GU2[,c("Latitude", "Longitude")],
date = GU2$Collecting,
id = GU2$month)
> GU2_bbmm.2 <- kernelbb(GU2_traj[1], sig1 =0.42, sig2 = 109.06, grid = xy)
However, there is no data in 'GU2_bbmm.2' (Please, look at the 'GU2_bbmm.2@data$ud')
> str(GU2_bbmm.2)
Formal class 'estUD' [package "adehabitatHR"] with 9 slots
..@ h :List of 2
.. ..$ values: Named num [1:2] 1.76e-01 1.19e+04
.. .. ..- attr(*, "names")= chr [1:2] "sig12" "sig22"
.. ..$ meth : chr "BB-specified"
..@ vol : logi FALSE
..@ data :'data.frame': 837 obs. of 1 variable:
.. ..$ ud: num [1:837] NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
..@ coords.nrs : num(0)
..@ grid :Formal class 'GridTopology' [package "sp"] with 3 slots
.. .. ..@ cellcentre.offset: Named num [1:2] 107863 509840
.. .. .. ..- attr(*, "names")= chr [1:2] "Var2" "Var1"
.. .. ..@ cellsize : Named num [1:2] 50 50
.. .. .. ..- attr(*, "names")= chr [1:2] "Var2" "Var1"
.. .. ..@ cells.dim : Named int [1:2] 31 27
.. .. .. ..- attr(*, "names")= chr [1:2] "Var2" "Var1"
..@ grid.index : int [1:837] 1 32 63 94 125 156 187 218 249 280 ...
..@ coords : num [1:837, 1:2] 107863 107863 107863 107863 107863 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : NULL
.. .. ..$ : chr [1:2] "Var2" "Var1"
..@ bbox : num [1:2, 1:2] 107838 509815 109388 511165
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:2] "Var2" "Var1"
.. .. ..$ : chr [1:2] "min" "max"
..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
.. .. ..@ projargs: chr "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs"
.. .. ..$ comment: chr "PROJCRS[\"unknown\",\n BASEGEOGCRS[\"unknown\",\n DATUM[\"Unknown based on GRS80 ellipsoid\",\n "| __truncated__
Using the same grid, BRB()
function also made only NaNs. But kernelUD()
works well.
When I put 50 in the grid argument of kernellbb()
and BRB()
function, they works. So I think my grid is something wrong. How can I make an appropriate grid for the functions in adehabitatHR package?