set.seed(87654)
x <- rnorm(1000, mean=0, sd=20)
x <- x[x >= 0]
x <- units::set_units(x, "ft")
Df <- data.frame(transectID = "A"
, distance = x
) |>
dplyr::nest_by( transectID
, .key = "detections") |>
dplyr::mutate(length = units::set_units(1,"mi"))
attr(Df, "detectionColumn") <- "detections"
attr(Df, "obsType") <- "single"
attr(Df, "transType") <- "line"
attr(Df, "effortColumn") <- "length"
is.RdistDf(Df) # TRUE
dfunc <- Df |> dfuncEstim(distance ~ 1, likelihood="halfnorm")
plot(dfunc)
plot(dfunc, nbins=25)
# showing effects of plot params
plot(dfunc
, col=c("red","blue","orange")
, border="black"
, xlab="Off-transect distance"
, ylab="Prob"
, vertLines = FALSE
, main="Showing plot params")
plot(dfunc
, col="purple"
, density=30
, angle=c(-45,0,45)
, cex.axis=1.5
, cex.lab=2
, ylab="Probability")
plot(dfunc
, col=c("grey","lightgrey")
, border=NA)
plot(dfunc
, col="grey"
, border=0
, col.dfunc="blue"
, lty.dfunc=2
, lwd.dfunc=4
, vertLines=FALSE)
plot(dfunc
, plotBars=FALSE
, cex.axis=1.5
, col.axis="blue")
rug(distances(dfunc))
# Plot showing f(0)
hist(distances(dfunc)
, n = 40
, border = NA
, prob = TRUE)
x <- seq(dfunc$w.lo, dfunc$w.hi, length=200)
g <- predict(dfunc, type="dfunc", distances = x, newdata = data.frame(a=1))
f <- g[,1] / ESW(dfunc)[1]
# Check integration:
sum(diff(x)*(f[-1] + f[-length(f)]) / 2) # Trapazoid rule; should be 1.0
lines(x, f) # hence, 1/f(0) = ESW
# Covariates: detection by observer
data(sparrowDfuncObserver) # pre-estimated model
obsLevs <- levels(sparrowDfuncObserver$data$observer)
plot(sparrowDfuncObserver
, newdata = data.frame(observer = obsLevs)
, vertLines = FALSE
, col.dfunc = heat.colors(length(obsLevs))
, col = c("grey","lightgrey")
, border=NA
, main="Detection by observer")
Run the code above in your browser using DataLab