rassocC: Generation of Points Associated in the Type C Sense with a...

View source: R/NNCTFunctions.R

rassocCR Documentation

Generation of Points Associated in the Type C 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 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.

Usage

rassocC(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 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).

Value

A list with the elements

pat.type

="ref.gen" for the bivariate pattern of association of class 2 points with the reference points (i.e., X_1), indicates reference points are required to be entered as an argument in the function

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. X_1 points)

ref.points

The input set of reference points X_1, i.e., points with which generated class 2 points are associated.

desc.pat

Description of the point pattern

mtitle

The "main" title for the plot of the point pattern

num.points

The vector of two numbers, which are the number of generated class 2 points and the number of reference (i.e., X_1) points.

xlimit, ylimit

The possible ranges of the x- and y-coordinates of the generated and the reference points

Author(s)

Elvan Ceyhan

References

\insertAllCited

See Also

rassocI, rassocG, rassocU, and rassoc

Examples

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)


nnspat documentation built on May 29, 2024, 10:03 a.m.