rassocU {nnspat} | R Documentation |
Generation of Points Associated in the Type U Sense with a Given Set of Points
Description
An object of class "SpatPatterns"
.
Generates n_2
2D points associated with the given set of points (i.e., reference points) X_1
in the
type U fashion with a radius of association r_0
(denoted as r0
as an argument of the function) which is a positive real number.
The generated points are intended to be from a different class, say class 2 (or X_2
points) than the reference
(i.e., X_1
points, say class 1 points, denoted as X1
as an argument of the function), say class 1 points).
To generate n_2
(denoted as n2
as an argument of the function)X_2
points, n_2
of X_1
points are randomly selected (possibly with replacement) and
for a selected X1
point, say x_{1ref}
,
a new point from the class 2, say x_{2new}
, is generated uniformly within a
circle with radius equal to r_0
.
That is, x_{2new} = x_{1ref}+r_u c(\cos(t_u),\sin(t_u))
wherer_u=sqrt(U)*r_0
with U \sim U(0,1)
and t_u \sim U(0, 2\pi)
.
Note that, the level of association increases as r_0
decreases, and the association vanishes when r_0
is
sufficiently large.
For type U association, it is recommended to take r_0 \le 0.10
times length of the shorter
edge of a rectangular study region, or take r_0 = 1/(k \sqrt{\hat \rho})
with the appropriate choice of k
to get an association pattern more robust to differences in relative abundances
(i.e., the choice of k
implies r_0 \le 0.10
times length of the shorter edge to have alternative patterns more
robust to differences in sample sizes).
Here \hat \rho
is the
estimated intensity of points in the study region (i.e., # of points divided by the area of the region).
Type U association is closely related to Type C association, see the function rassocC
and the other association types.
In the type C association pattern
the new point from the class 2, x_{2new}
, is generated (uniform in the polar coordinates) within a circle
centered at x_{1ref}
with radius equal to r_0
.
In type G association, x_{2new}
is generated from the bivariate normal distribution centered at x_{1ref}
with covariance
\sigma I_2
where I_2
is 2 \times 2
identity matrix.
In type I association, first a Uniform(0,1)
number, U
, is generated.
If U \le p
, x_{2new}
is generated (uniform in the polar coordinates) within a
circle with radius equal to the distance to the closest X_1
point,
else it is generated uniformly within the smallest bounding box containing X_1
points.
See Ceyhan (2014) for more detail.
Usage
rassocU(X1, n2, r0)
Arguments
X1 |
A set of 2D points representing the reference points, also referred as class 1 points. The generated points are associated in a type U sense (in a circular/radial fashion) with these points. |
n2 |
A positive integer representing the number of class 2 points to be generated. |
r0 |
A positive real number representing the radius of association of class 2 points associated with a randomly selected class 1 point (see the description below). |
Value
A list
with the elements
pat.type |
= |
type |
The type of the point pattern |
parameters |
Radius of association controlling the level of association |
gen.points |
The output set of generated points (i.e., class 2 points) associated with reference (i.e.
|
ref.points |
The input set of reference points |
desc.pat |
Description of the point pattern |
mtitle |
The |
num.points |
The |
xlimit , ylimit |
The possible ranges of the |
Author(s)
Elvan Ceyhan
References
Ceyhan E (2014). “Simulation and characterization of multi-class spatial patterns from stochastic point processes of randomness, clustering and regularity.” Stochastic Environmental Research and Risk Assessment (SERRA), 38(5), 1277-1306.
See Also
rassocI
, rassocG
, rassocC
, and rassoc
Examples
n1<-20; n2<-1000; #try also n1<-10; n2<-1000;
r0<-.15 #try also .10 and .20
#with default bounding box (i.e., unit square)
X1<-cbind(runif(n1),runif(n1)) #try also X1<-1+cbind(runif(n1),runif(n1))
Xdat<-rassocU(X1,n2,r0)
Xdat
summary(Xdat)
plot(Xdat,asp=1)
plot(Xdat)
#radius adjusted with the expected NN distance
x<-range(X1[,1]); y<-range(X1[,2])
ar<-(y[2]-y[1])*(x[2]-x[1]) #area of the smallest rectangular window containing X1 points
rho<-n1/ar
r0<-1/(2*sqrt(rho)) #r0=1/(2rho) where \code{rho} is the intensity of X1 points
Xdat<-rassocU(X1,n2,r0)
Xdat
summary(Xdat)
plot(Xdat,asp=1)
plot(Xdat)