knitr::opts_chunk$set(echo = TRUE)
library(reshape2) library(stringr) library(stringi) library(lubridate) library(here)
clunky but works
filename <- here::here("data-raw", "data-raw-mencia", "mencia_site_persistence", "mencia_site_persist_cleaned") print(filename) skip <- 0 sp.wide <- read.csv(file = filename, skip = skip, header =TRUE, strip.white = TRUE, blank.lines.skip = TRUE, na.strings = c("NA",""," "), stringsAsFactors = FALSE, colClasses=c("SUF"="character") )
names(sp.wide) <- gsub("resight","rs",names(sp.wide)) names(sp.wide) <- gsub("recap","rc",names(sp.wide)) names(sp.wide) <- gsub("20","",names(sp.wide)) names(sp.wide) <- gsub("nov","N",names(sp.wide)) names(sp.wide) <- gsub("jan","J",names(sp.wide)) names(sp.wide) <- gsub("feb","F",names(sp.wide)) names(sp.wide) <- gsub("wanderer","wander",names(sp.wide)) names(sp.wide) <- gsub("wander","wndr",names(sp.wide)) names(sp.wide) <- gsub("species","spp",names(sp.wide)) names(sp.wide) <- gsub("wing","wng",names(sp.wide)) names(sp.wide) <- gsub("tarsus","tar",names(sp.wide)) names(sp.wide) <- gsub("year","yr",names(sp.wide)) names(sp.wide) <- gsub("month","mo",names(sp.wide)) names(sp.wide) <- gsub("band","bnd",names(sp.wide)) names(sp.wide) <- gsub("sex","sx",names(sp.wide)) names(sp.wide) <- gsub("colors","col",names(sp.wide)) names(sp.wide) <- gsub("notes","nts",names(sp.wide)) names(sp.wide) <- gsub("status","stat",names(sp.wide)) names(sp.wide) <- gsub("age","ag",names(sp.wide))
Steve has "n/a" list for sampling occassions w/in a season before a bird was 1st observe (but not for years b/f)/
Change these to "bf"
natobf<- function(x){ifelse(x == "n/a","bf",x)} j.r <- grep("^r", names(sp.wide)) sp.wide[,j.r] <- apply(sp.wide[,j.r],2, natobf)
steve list "X" for an observation or recapture.
change to 1 to be consistent the mark recaput
Xto1<- function(x){ifelse(x == "X" | x == "x","1",x)} j.r <- grep("^r", names(sp.wide)) sp.wide[,j.r] <- apply(sp.wide[,j.r],2, Xto1)
steve list site names in some cases instead of "X".
Change to 1
siteto1<- function(x){ i <- which(x %in% c("Corral","Caoba","Cueva","Morelia","Cue/Cao", "Fuera","DIED", "repeated combo")) x[i] <- 1 return(x) } sp.wide[,j.r] <- apply(sp.wide[,j.r],2, siteto1)
for(i in 1:length(j.r)){ j <- j.r[i] sp.wide[,j] <- as.factor(sp.wide[,j]) } summary(sp.wide[,j.r]) summary(factor(sp.wide$rs.04.J))
calc_caps <- function(x){ return(sum(as.numeric(x[grep("1",x)]))) } sp.wide$num.rc.rs <- apply(sp.wide[,j.r],1, calc_caps)
i.drop1 <- which(names(sp.wide) %in% c("bnd.pre",#"bnd.suf", "wng","tar", "site.ag.init", "site.ag","bnd", "nts","yr.num", "date2","mo","day")) sp.wide[,-c(j.r,i.drop1)]
None
which(sp.wide$wndr == "W" & sp.wide$num.rc.rs > 0)
nope
which(sp.wide$wndr == "P" & sp.wide$num.rc.rs < 1)
Yes
i.prob <- which(sp.wide$wndr == "P" & sp.wide$num.rc.rs < 1) sp.wide[i.prob, -c(j.r,i.drop1)]
summary(factor(sp.wide$wndr )) i.w <- which(sp.wide$wndr == "W") j.r <- grep("^r", names(sp.wide)) sp.wide[i.w, j.r]
sp.wide$persist <- ifelse(sp.wide$num.rc.rs > 0, "P","NP")
names(sp.wide) <- gsub("spp","spp.code",names(sp.wide))
spp.meta <- read.csv(here::here("data","spp_list.csv"),stringsAsFactors =F)
Subset columns I want to use
spp.meta <- spp.meta[c("spp.code","spp", "status2", "hab1","diet")]
summary(spp.meta)
Green tailed ground warlber and green tailed ground tanager are the same
Change column name
names(sp.wide) <- gsub("species","spp.code", names(sp.wide))
sp.wide$spp.code <- as.character(sp.wide$spp.code) sp.wide$spp.code[which(sp.wide$spp.code == "GRWA")] <- "GTGT"
sp.wide$spp.code[which(sp.wide$spp.code == "HLCU")] <- "HILC"
MYWA = myrtyle warbler = YRWA yellow rumped warbler NUMA -> SBMU #nutmet manakin = scaly breasted munia WHQD = WFQD
sp.wide$spp.code[which(sp.wide$spp.code == "MYWA")] <- "YRWA" sp.wide$spp.code[which(sp.wide$spp.code == "NUMA")] <- "SBMU" sp.wide$spp.code[which(sp.wide$spp.code == "WHQD")] <- "WFQD"
Merge
names(sp.wide) names(spp.meta) names(sp.wide2) sp.wide2 <- merge(sp.wide, spp.meta, all = T) dim(sp.wide) dim(sp.wide2) sp.wide2 <-sp.wide2[-which(is.na(sp.wide2$site) == TRUE), ] sp.wide <- sp.wide2
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.