N-mixture モデル

複数地点における繰り返しのカウント調査から真の個体数を推定するモデルです。ここではRoyle (2004, Biometrics)のN-mixtureモデルを紹介しますが、unmarkedパッケージはこの他にも色々なモデルが利用できます。

# Windows 7 Professional 32bit# R ver. 3.5.2# 2019.6.02
# パッケージinstall.packages("unmarked") # パッケージのインストール(初回のみ)library(unmarked) # パッケージの呼び出し
# データの読み込みdata <- read.csv("Data.csv") data$Res # 目的変数
# 個体数に影響すると思われる変数をまとめるsite.cov <- data.frame(Exp1 = data$Exp1, Exp2 = data$Exp2)
# 発見率に影響すると思われる変数をリストでまとめる (調査回ごとに値が異なるため)# Date2, Time2はそれぞれ2乗項を表すobs.cov <- list(Date = data$date, Date2 = data$date2, Time = data$time, Time2 = data$time2)
# データをまとめるumf <- unmarkedFramePCount(y = data$Res, siteCovs = site.cov, obsCovs = obs.cov)
# N-mixture モデル# mixtureは"P"、"NB"または"ZIP"が選べる # ランダム変数を入れたい場合はWinBUGSなどを使うしかなさそうres <- pcount(~Date+Date2+Time+Time2~Exp1+Exp2, data = umf, K = 200, mixture = "P")res
# MuMInパッケージのdredge関数を使ったモデル選択install.packages("MuMIn")library(MuMIn)Res <- dredge(res, rank="AICc")
# 2乗項が単独で選ばれないようにするための小技msubset <- expression(dc(Time, Time2) & dc(Date, Date2))Res <- dredge(res, rank = "AICc", subset = msubset)
# モデル選択表を保存write.csv(model.sel(Res), "model.selection.csv")

自分の記録用ですが、ご自由にお使いください (使用によって生じた如何なる損害も、当方では一切の責任を負いかねます)。もしお役に立った場合はご一報いただけると嬉しいですし、共同研究に発展することがあればさらに嬉しいです。。。

解析のご質問やご相談は katayama6 at affrc.go.jp までご連絡いただければ幸いです。