fun <- function(n.used, parms, data, m, link="logit") {
X <- model.matrix(~., data)
n.sites <- nrow(X)
n.avail <- n.used * m
linkinvfun <- binomial(link=make.link(link))$linkinv
p <- drop(linkinvfun(X %*% parms))
id1 <- sample.int(n.sites, n.used, replace = TRUE, prob = p)
id2 = sample(n.sites, n.avail, replace = TRUE)
data.frame(status=c(rep(1, n.used), rep(0, n.avail)), data[c(id1, id2),])
}
## settings
n.used <- 1000
m <- 10
n <- n.used * m
set.seed(1234)
x <- data.frame(x1=rnorm(n), x2=runif(n))
cfs <- c(1.5,-1,0.5)
## fitting Exponential RSF model
dat1 <- fun(n.used, cfs, x, m=m, link="log")
m1 <- rsf(status ~ .-status, dat1, B=0)
summary(m1)
## fitting Logistic RSPF model
dat2 <- fun(n.used, cfs, x, m=m, link="logit")
m2 <- rspf(status ~ .-status, dat2, B=0)
summary(m2)
Run the code above in your browser using DataLab