knitr::opts_chunk$set(echo = TRUE)
library(here) library(reshape2) library(car) library(stringi) library(lubridate)
filename <- "aceit_site_persist_clean.csv" filename <- here::here("data-raw", "data-raw-aceitillar_96-02", filename) aceit <- read.csv(file = filename,stringsAsFactors = F)
Melt wide data to long format
names(aceit) aceit.melt <- reshape2::melt(data = aceit, id.vars = c("spp.code", "bnd","col","ag","sx", "site", "date.cap.orig", "date.cap.raw", "stat.focals", "spp", "stat", "hab1","sub.site" , "diet","persist", "nts"), #formerly comments value.name = "cap.type")
summary(factor(aceit.melt$cap.type)) summary(factor(aceit.melt$variable))
Blank entries for "cap.type" occur when a bird was not seen either b/c it had never been seen yet (before 1st cap) or after it had died/emmigrated/etc (after the last time it was seen)
aceit.melt$cap.type <- factor(ifelse(aceit.melt$cap.type == "",NA, aceit.melt$cap.type)) aceit.melt <- aceit.melt[-which(is.na(aceit.melt$cap.type == TRUE)),] summary(factor(aceit.melt$cap.type))
Change "variable" column to date.cap for date captured
names(aceit.melt)[which(names(aceit.melt) == "variable")] <- "date.cap"
Extract year
temp <- stringr::str_split(aceit.melt$date.cap,"\\.",simplify = TRUE) aceit.melt$month.cap <- temp[,1] aceit.melt$year.cap <- temp[,2]
"year.cap"" is the year actually captured. For analysis I need to determine the winter of sampling, which spans 2 calendar years, not the actualy year.
So Nov "1997" should become "1997-1998" b/c sampling that season continue into the next calendar year.
BUT Jan and March 1997 should be coded 1996-1997 b/c sampling began the calendar year prior. (coding this as 1997-1998 would put it into the wrong winter of sampling)
Note that for aceitillar sampling only ever occured in Nov, Jan and March, and that this only occured in 1996-1997, and 1997-1998. In 1999 and beyond all sampling occurred in January. Note that sampling in January 1999 is coded as "1998-1999" for consistency witht he prior years and the Mencia data.
the90s <- as.character(c(96,97,98,99 )) i.90s <- which(aceit.melt$year.cap %in% the90s) aceit.melt$year.cap[i.90s] <- paste("19",aceit.melt$year.cap[i.90s], sep = "") aceit.melt$year.cap[-i.90s] <- paste("20",aceit.melt$year.cap[-i.90s], sep = "")
summary(factor(aceit.melt$month))
aceit.melt$year <- NA #1996-1997 aceit.melt$year[with(aceit.melt, which(year.cap == "1996" & month.cap == "N"))] <- "1996-1997" aceit.melt$year[with(aceit.melt, which(year.cap == "1997" & month.cap %in% c("J","M")))] <- "1996-1997" #1997-1998 aceit.melt$year[with(aceit.melt, which(year.cap == "1997" & month.cap == "N"))] <- "1997-1998" aceit.melt$year[with(aceit.melt, which(year.cap == "1998" & month.cap %in% c("J","M")))] <- "1997-1998" ## others aceit.melt$year[with(aceit.melt, which(year.cap == "1999" & month.cap %in% c("J","M")))] <- "1998-1999" aceit.melt$year[with(aceit.melt, which(year.cap == "2000" & month.cap %in% c("J","M")))] <- "1999-2000" aceit.melt$year[with(aceit.melt, which(year.cap == "2001" & month.cap %in% c("J","M")))] <- "2000-2001" aceit.melt$year[with(aceit.melt, which(year.cap == "2002" & month.cap %in% c("J","M")))] <- "2001-2002" aceit.melt$year[with(aceit.melt, which(year.cap == "2003" & month.cap %in% c("J","M")))] <- "2002-2003" summary(factor(aceit.melt$year)) aceit.melt[is.na(aceit.melt$year),]
The 1st calendar year of the winter is the nominal year of that winter for the purpose of regression analysis
aceit.melt$year.num <- gsub("^([12][90][901][1234567890])(.*)","\\1", aceit.melt$year) aceit.melt$year.num <- as.numeric(aceit.melt$year.num)
Date actually captured (not date orig captured)
Day not give; assume 15th of each month
aceit.melt$date.cap <- paste(aceit.melt$month.cap,15, aceit.melt$year.cap, sep = "-") aceit.melt$date.cap <- gsub("J","Jan",aceit.melt$date.cap ) aceit.melt$date.cap <- gsub("N","Nov",aceit.melt$date.cap ) aceit.melt$date.cap <- gsub("M","Mar",aceit.melt$date.cap ) aceit.melt$date.cap <- mdy(aceit.melt$date.cap )
aceit.melt <- aceit.melt[order(aceit.melt$date.cap), ]
Check
aceit.melt[which(aceit.melt$bnd == "382"), ]
This is down downstream when merged with Mencia
# aceit.melt$ID.yr <- with(aceit.melt, # paste(bnd,year,sep = "_") # )
includes resight!
filename <- "aceit_annual_inc_resight.csv" filename <- here::here("data-raw", "data-raw-aceitillar_96-02", filename) write.csv(aceit.melt, file = filename,row.names = F)
dim(aceit.melt) i.C <- grep("C",aceit.melt$cap.type) summary(aceit.melt$cap.type[i.C]) aceit.melt.caps.only <- aceit.melt[i.C, ]
max(summary(factor(aceit.melt.caps.only$bnd),10000)) aceit.melt.caps.only[grep("2_5900",aceit.melt.caps.only$bnd),]
filename <- "aceit_annual.csv" filename <- here::here("data-raw", "data-raw-aceitillar_96-02", filename) write.csv(aceit.melt.caps.only, file = filename,row.names = F)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.