## ----message=FALSE, warning=FALSE---------------------------------------------
library(R2ucare)

## ----message=FALSE, warning=FALSE---------------------------------------------
# # read in text file as described at pages 50-51 in http://www.phidot.org/software/mark/docs/book/pdf/app_3.pdf
dipper <- system.file("extdata", "dipper.txt", package = "RMark")
dipper <- RMark::import.chdata(dipper, field.names = c("ch", "sex"), header = FALSE)
dipper <- as.data.frame(table(dipper))
str(dipper)

## ----message=FALSE, warning=FALSE---------------------------------------------
dip.hist <- matrix(as.numeric(unlist(strsplit(as.character(dipper$ch),""))),
                   nrow = length(dipper$ch),
                   byrow = T)
dip.freq <- dipper$Freq
dip.group <- dipper$sex
head(dip.hist)
head(dip.freq)
head(dip.group)

## ----message=FALSE, warning=FALSE---------------------------------------------
dipper <- system.file("extdata", "ed.txt", package = "R2ucare")
dipper <- read_headed(dipper)

## ----message=FALSE, warning=FALSE---------------------------------------------
dip.hist <- dipper$encounter_histories
dip.freq <- dipper$sample_size
dip.group <- dipper$groups
head(dip.hist)
head(dip.freq)
head(dip.group)

## ----message=FALSE, warning=FALSE---------------------------------------------
dipper <- system.file("extdata", "ed.inp", package = "R2ucare")
dipper <- read_inp(dipper, group.df = data.frame(sex = c("Male", "Female")))

## ----message=FALSE, warning=FALSE---------------------------------------------
dip.hist <- dipper$encounter_histories
dip.freq <- dipper$sample_size
dip.group <- dipper$groups
head(dip.hist)
head(dip.freq)
head(dip.group)

## ----message=FALSE, warning=FALSE---------------------------------------------
mask <- (dip.group == "Female")
dip.fem.hist <- dip.hist[mask,]
dip.fem.freq <- dip.freq[mask]
mask <- (dip.group == "Male")
dip.mal.hist <- dip.hist[mask,]
dip.mal.freq <- dip.freq[mask]

## ----message=FALSE, warning=FALSE---------------------------------------------
test3sr_females <- test3sr(dip.fem.hist, dip.fem.freq)
test3sm_females <- test3sm(dip.fem.hist, dip.fem.freq)
test2ct_females <- test2ct(dip.fem.hist, dip.fem.freq)
test2cl_females <- test2cl(dip.fem.hist, dip.fem.freq)
# display results:
test3sr_females
test3sm_females
test2ct_females
test2cl_females

## ----message=FALSE, warning=FALSE---------------------------------------------
overall_CJS(dip.fem.hist, dip.fem.freq)

## -----------------------------------------------------------------------------
overall_test <- overall_CJS(dip.fem.hist, dip.fem.freq) # overall test
twoct_test <- test2ct(dip.fem.hist, dip.fem.freq) # test for trap-dependence
stat_tp <- overall_test$chi2 - twoct_test$test2ct["stat"] # overall stat - 2CT stat
df_tp <- overall_test$degree_of_freedom - twoct_test$test2ct["df"] # overall dof - 2CT dof
pvalue <- 1 - pchisq(stat_tp, df_tp) # compute p-value for null hypothesis: 
                                     # model with trap-dep fits the data well
pvalue

## ----message=FALSE, warning=FALSE---------------------------------------------
geese <- system.file("extdata", "geese.inp", package = "R2ucare")
geese <- read_inp(geese)

## ----message=FALSE, warning=FALSE---------------------------------------------
geese.hist <- geese$encounter_histories
geese.freq <- geese$sample_size

## ----message=FALSE, warning=FALSE---------------------------------------------
test3Gsr(geese.hist, geese.freq)
test3Gsm(geese.hist, geese.freq)
test3Gwbwa(geese.hist, geese.freq)
testMitec(geese.hist, geese.freq)
testMltec(geese.hist, geese.freq)

## ----message=FALSE, warning=FALSE---------------------------------------------
overall_JMV(geese.hist, geese.freq)

## ----message=FALSE, warning=FALSE---------------------------------------------
# Assuming the geese dataset has been read in R (see above):
geese.hist[geese.hist > 1] <- 1

## ----message=FALSE, warning=FALSE---------------------------------------------
# Assuming the geese dataset has been read in R (see above):
geese.hist[geese.hist == 3] <- 2 # all 3s become 2s

## ----message=FALSE, warning=FALSE,eval=FALSE----------------------------------
# # Assuming the female dipper dataset has been read in R (see above):
# t(apply(dip.fem.hist, 1, rev))

## ----message=FALSE, warning=FALSE,eval=FALSE----------------------------------
# # Assuming the female dipper dataset has been read in R (see above):
# mask = (apply(dip.fem.hist, 1, sum) > 0 & dip.fem.freq > 0) # select non-empty histories, and histories with at least one individual
# sum(!mask) # how many histories are to be dropped?
# dip.fem.hist[mask,] # drop these histories from dataset
# dip.fem.freq[mask] # from counts

## ----message=FALSE, warning=FALSE, eval=FALSE---------------------------------
# # Assuming the female dipper dataset has been read in R (see above):
# dip.fem.hist[, c(1,4,6)] # pick occasions 1, 4 and 6 (might be a good idea to clean the resulting dataset)
# gather_146 <- apply(dip.fem.hist[,c(1,4,6)], 1, max) # gather occasions 1, 4 and 6 by taking the max
# dip.fem.hist[,1] <- gather_146 # replace occasion 1 by new occasion
# dip.fem.hist <- dip.fem.hist[, -c(4,6)] # drop occasions 4 and 6

## ----message=FALSE, warning=FALSE, eval=FALSE---------------------------------
# # Assuming the geese dataset has been read in R (see above):
# for (i in 1:nrow(geese.hist)){
# occasion_first_encounter <- min(which(geese.hist[i,] != 0)) # look for occasion of first encounter
# geese.hist[i, occasion_first_encounter] <- 0 # replace the first non zero by a zero
# }
# # delete empty histories from the new dataset
# mask <- (apply(geese.hist, 1, sum) > 0) # select non-empty histories
# sum(!mask) # how many histories are to be dropped?
# geese.hist[mask,] # drop these histories from dataset
# geese.freq[mask] # from counts

