・標本整理
午後
・データ解析
・論文書き(ワラジムシ群集)
種の分布解析でロジスティック解析をする際、対象種が確認された在データだけでなく、調べたが対象種が確認できなかった不在データも必要となる。
私の場合、採集日や場所を紐付けした動物標本のデータと、別に、調査を行なった地点のデータを記録している。
したがって、ロジスティック解析をするには、不在データを準備して、標本データに結合する必要がある。
これまで手作業でやっていたのだが、「dplyr」パッケージの「anti_join( )」を使うことでどうにかできた。流れとしては、調査地点データから「標本データに含まれている地点の行を削除」したのち、これら2つのデータを結合した。
標本データ。「species.csv」として記録されているとする。
地点データ。「plot.csv」として記録されているとする。
データの取り込みと、2つのデータの列が異なるので揃える。
spe <- read.csv("species.csv", header=T) plot <- read.csv("plot.csv", header=T) #種データの「spe」列を作成し「NONE」と記入する plot$spe <- rep("NONE", nrow(plot)) plot <- plot[, c(3,1,2,4)] #列の順番を「spe」データと揃える標本データ「spe」に含まれる地点 (site列) を全調査地点データ「plot」の地点 (site列) と比較し、同じ地点名がある場合は「plot」からその地点名がある行を削除する。削除した後の「plot」のデータは「absent」に格納する。
#install.packages("dplyr", repos="http://cran.ism.ac.jp/") library(dplyr) absent <- anti_join(plot, spe, by = "site")「spe」と「absent」を結合する。
library(dplyr) pre_ab <- bind_rows(spe, absent)「sort( )」しているが、下記のように「Burmoniscus ocellatus」がいた地点と、本種が確認されなかった地点「NONE」が混じったデータが出来上がった。
「spe」において、1地点で複数のサンプルが記録されており、1個体/1種/1地点、する場合は、「dplyr::distinct( )」や「duplicated( )」で削除できるはずだが、複数の列を対象とする場合は試したことがないので、良く分からない。