# I. DATA SET UP
coordsHabitatGridCenter <- matrix(c(0.5, 3.5,
1.5, 3.5,
2.5, 3.5,
3.5, 3.5,
0.5, 2.5,
1.5, 2.5,
2.5, 2.5,
3.5, 2.5,
0.5, 1.5,
1.5, 1.5,
2.5, 1.5,
3.5, 1.5,
0.5, 0.5,
1.5, 0.5,
2.5, 0.5,
3.5, 0.5), ncol=2,byrow = TRUE)
colnames(coordsHabitatGridCenter) <- c("x","y")
# CREATE OBSERVATION WINDOWS
trapCoords <- matrix(c(1.5, 1.5, 2.5, 1.5, 1.5, 2.5, 2.5, 2.5), nrow = 4, byrow = TRUE)
colnames(trapCoords) <- c("x","y")
# PLOT CHECK
plot(coordsHabitatGridCenter[,"y"]~coordsHabitatGridCenter[,"x"],pch=16)
points(trapCoords[,"y"]~trapCoords[,"x"],col="red",pch=16)
# PARAMETERS
p0 <- 0.2
sigma <- 2
indicator <- 1
# WE CONSIDER 2 INDIVIDUALS
y <- matrix(c(2, 1, 1,-1, 1, 4, -1,#id#1 detected 2 times at detector 1 and 4
2, 2,-1,-1, 3,-1, -1),#id#2 detected 2 times at detector 3
ncol=7, nrow=2, byrow = TRUE)
s <- matrix(c(0.5, 1,
1.6, 2.3),ncol=2,nrow=2)
# RESCALE COORDINATES
ScaledtrapCoords <- scaleCoordsToHabitatGrid(coordsData = trapCoords,
coordsHabitatGridCenter = coordsHabitatGridCenter)
ScaledtrapCoords<- ScaledtrapCoords$coordsDataScaled
habitatMask <- matrix(1, nrow = 4, ncol=4, byrow = TRUE)
# CREATE LOCAL OBJECTS
TrapLocal <- getLocalObjects(habitatMask = habitatMask,
coords = ScaledtrapCoords,
dmax=2.5,
resizeFactor = 1,
plot.check = TRUE
)
# GET SPARSE MATRIX
#SparseY <- getSparseY(y)
# II. USING THE DENSITY FUNCTION
# WE TAKE THE FIRST INDIVIDUAL
i=1
# OPTION 1: USING THE RANDOM GENERATION FUNCTIONNALITY
dmultiLocal_normal(x=y[i,]
,
size=3
,
p0 = p0
,
sigma= sigma
,
s=s[i,1:2]
,
trapCoords=ScaledtrapCoords
,
localTrapsIndices=TrapLocal$localIndices
,
localTrapsNum=TrapLocal$numLocalIndices
,
resizeFactor=TrapLocal$resizeFactor
,
habitatGrid=TrapLocal$habitatGrid
,
indicator=indicator
,
lengthYCombined = ncol(y)
)
# III. USING THE RANDOM GENERATION FUNCTION
rmultiLocal_normal(n=1,
size=3,
p0 = p0,
sigma= sigma,
s=s[i,1:2],
trapCoords=ScaledtrapCoords,
localTrapsIndices=TrapLocal$localIndices,
localTrapsNum=TrapLocal$numLocalIndices,
resizeFactor=TrapLocal$resizeFactor,
habitatGrid=TrapLocal$habitatGrid,
indicator=indicator,
lengthYCombined = ncol(y))
Run the code above in your browser using DataLab