#結論
おすすめされるままにadehabitatHRを使おう(ライトユーザーの意見
#まずadehabitat
行動圏を推定するのに以前は adehabitat パッケージを使っていた。
たとえば以下のようなデータを使う。
屋久島でサルを追いかけて取得したGPSデータ。座標は UTM に変換しておく。
Rでは以下のようなかんじ。
行動圏を推定し、そのサイズを計算する。
library(adehabitat)
options(digits=10) #おこのみで
#まずデータを読み込む
d<-read.csv(適切なファイル)
#xy座標が入っている列だけ取り出す
data.xy<-d[,c(1:2)]
#さっそくカーネル推定する
ud<-kernelUD(data.xy,h="href",grid=50,same4all=FALSE,kern="bivnorm",extent=0.5)
#95%カーネルエリアと50%カーネルエリアの情報を取り出す
HR95<-getverticeshr(ud,95)
HR50<-getverticeshr(ud,50)
#plotでアウトラインを確認できる
plot(HR95)
plot(HR50)
#上の情報をshp形式に変換
HR95shp<-kver2shapefile(HR95)
HR50shp<-kver2shapefile(HR50)
#変換したshpファイルを書き出し
write.shapefile(HR95shp,"kde95",arcgis=T)
write.shapefile(HR50shp,"kde50",arcgis=T)
#カーネル推定した行動圏の面積を求める
#id=d$idとすればidごとの行動圏面積を求めることができるが、今回はすべてプールした
kernel.area(data.xy,id=rep(1,length(d$id)),h="href",grid=50,same4all=FALSE,kern="bivnorm",levels=seq(20,95,by=5),unin="m",unout="ha",extent=0.5)
}
#そしてadehabitatHR
adehabitatを読み込むとしばらく前から以下のようなメッセージが出るようになった。
古いパッケージだから後続の新しいパッケージを使うのをおすすめするよ、ということ。
Be careful: it is now recommended to use the newpackages adehabitatMA, adehabitatLT, adehabitatHR, and adehabitatHS.
These 4 packages are intended to become the future of adehabitat.
The "classical" version of adehabitat will still be maintained for some
time, but no new method will be added to the package.
別バージョンのRで library(adehabitat) したらさらに強い語調になっていた。
THE PACKAGE adehabitat IS NOW DEPRECATED!!!!!!!
It is dangerous to use it, as bugs will no longer be corrected.
It is now recommended to use the packages adehabitatMA, adehabitatLT, adehabitatHR, and adehabitatHS.
These 4 packages are the future of adehabitat.
They have a vignette explaining in detail how they can be used.
They implement more methods than adehabitat
They are based on the more common and more clever spatial classes implemented in sp.
Bugs are corrected frequently.
Really, avoid to use the classical adehabitat, unless you have a very good reason for it.
This is the last warning: a next version of adehabitat will just be a virtual package loading all the replacement packages described above.
しかし現段階でこれらの後続パッケージにかんする情報があまりないような気がする。
ヒトにきかれて調べる機会があったので試しにadehabitatHRを使ってみた。
さきほどと同じデータから行動圏を推定し、そのサイズを計算する。
library(adehabitatHR)
library(rgdal)
library(maptools)
#まずデータを読み込む
d<-read.csv(適切なファイル)
#xy座標の入った列だけ取り出す
#proj4stringで座標を指定してsp形式で別のデータフレームにする
#調査地によって EPSG が異なる
d_sp<-SpatialPoints(d[,c(1:2)], proj4string=CRS("+init=epsg:32652"))
d_sp<-data.frame(d_sp)
#xy座標に対応する個体IDを別のデータフレームとして作成
#今回はIDごとの行動圏は推定しないので適当な列をつくる
idd_sp<-data.frame(rep(1,length(d$id)))
#個体IDを入れたデータフレームに位置情報をひもづけする
coordinates(idd_sp)<-d_sp
#ここでカーネル推定する
ud<-kernelUD(idd_sp[,1],h ="href",grid=50,same4all=TRUE,hlim = c(0.1, 1.5),kern="bivnorm",extent=0.5)
#95%カーネルエリアと50%カーネルエリアの情報を取り出す
HR95<-getverticeshr(ud,95)
HR50<-getverticeshr(ud,50)
#変換したshpファイルを書き出し
writePolyShape(HR95, "kde95")
writePolyShape(HR50,"kde50")
#カーネル推定した行動圏のサイズを計算する
kernel.area(ud,percent=seq(20,95,by=5),unin="m",unout="ha")
#adehabitatとadehabitatHRの比較
##推定された行動圏
だいたい同じ。
adehabitatHRの推定ではコアエリアに小さい穴があいている。
##行動圏サイズ
微妙にちがうがほぼ同じといってよい。
kernel.area(data.xy,id=rep(1,length(d$id)),h="href",grid=50,same4all=FALSE,kern="bivnorm",levels=seq(20,95,by=5),unin="m",unout="ha",extent=0.5)
1
20 4.391538596
25 5.725676903
30 7.115404307
35 8.616309903
40 10.228393691
45 11.951655672
50 13.841684941
55 15.842892402
60 18.010867152
65 20.512376478
70 23.236242190
75 26.404820670
80 30.184879208
85 34.743185092
90 40.635629284
95 49.585473764
kernel.area(ud,percent=seq(20,95,by=5),unin="m",unout="ha")
X1
20 4.398970541
25 5.556594367
30 6.945742959
35 8.566416316
40 10.187089673
45 11.807763030
50 13.659961152
55 15.743684040
60 17.827406928
65 20.374179346
70 23.152476530
75 26.393823244
80 30.098219488
85 34.728714794
90 40.516833927
95 49.546299773
#参考にしたページ
QgisとRで野生動物の追跡結果を解析してみよう
http://www.slideshare.net/NozomiIriomote/qgisr
Walter Applied Spatial Ecology Laboratory
http://ecosystems.psu.edu/research/labs/walter-lab/manual/chapter-5-overlap-indices/introduction