View source: R/NNCTFunctions.R
| rassocC | R Documentation | 
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 C 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 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 within a
circle with radius equal to r_0 (uniform in the polar coordinates).
That is, x_{2new} = x_{1ref}+r_u c(\cos(t_u),\sin(t_u))
where r_u \sim U(0,r_0) 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 C association, it is recommended to take r_0 \le 0.25 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.25 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 C association is closely related to Type U association, see the function rassocC
and the other association types.
In the type U association pattern
the new point from the class 2, x_{2new}, is generated uniformly 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 \insertCiteceyhan:serra-2014;textualnnspat for more detail.
rassocC(X1, n2, r0)
X1 | 
 A set of 2D points representing the reference points, also referred as class 1 points. The generated points are associated in a type C 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).  | 
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   | 
Elvan Ceyhan
rassocI, rassocG, rassocU, and rassoc
n1<-20; n2<-1000;  #try also n1<-10; n2<-1000;
r0<-.15 #try also .10 and .20, runif(1)
#with default bounding box (i.e., unit square)
X1<-cbind(runif(n1),runif(n1))  #try also X1<-1+cbind(runif(n1),runif(n1))
Xdat<-rassocC(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<-rassocC(X1,n2,r0)
Xdat
summary(Xdat)
plot(Xdat,asp=1)
plot(Xdat)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.