###
##Generación del Proceso Poisson Homogeneo
###
require(spatstat)
ppois_homogeneo=function(x,y,intensidad){
##Paso 1 - Espacio del Patron (S)
cuadrado=owin(x,y)
##Realización v.a. poisson con intensidad
sim=rpois(n = 1,lambda = intensidad)
##Distribuir Valores de Acuerdo con Distribucción Uniforme
sim_x=runif(n = sim,min = x[1],max = x[2])
sim_y=runif(n = sim,min = y[1],max = y[2])
coords=data.frame(sim_x,sim_y)
##Crear Patron Puntual con los valores
require(spatstat)
ppois_homo=ppp(x = coords[,1],y = coords[,2],window = cuadrado)
return(ppois_homo)
}
A continuación se usa la función:
##Usar la función
x=c(0,10)
y=c(0,15)
intensidad=50
sim_pois_homo=ppois_homogeneo(x,y,intensidad)
sim_pois_homo
## Planar point pattern: 57 points
## window: rectangle = [0, 10] x [0, 15] units
plot(sim_pois_homo)
x=c(0,1)
y=c(0,1)
intensidad=100
retencion=0.6
sim_pois_homo=ppois_homogeneo(x,y,intensidad)
tot_puntos=dim(data.frame(sim_pois_homo))[1]
f = ifelse(runif(n = tot_puntos)<retencion, 1, 0)
sim_pois_thin_inhomo=sim_pois_homo[f==1]
par(mfrow=c(1,2))
plot(sim_pois_homo)
plot(sim_pois_thin_inhomo)
x=c(0,1)
y=c(0,1)
intensidad=100
param=-10.6
sim_pois_homo=ppois_homogeneo(x,y,intensidad)
coords=data.frame(sim_pois_homo)
coords$y=exp(param*coords$y)
ppois_inhomo_exp=ppp(x = coords[,1],y = coords[,2])
par(mfrow=c(1,2))
plot(sim_pois_homo)
plot(ppois_inhomo_exp)