Learn R Programming

pcds (version 0.1.2)

cl2CC.TbVR: The closest points to circumcenter in each \(CC\)-vertex region in a basic triangle

Description

An object of class "Extrema". Returns the closest data points among the data set, Dt, to circumcenter, \(CC\), in each \(CC\)-vertex region in the basic triangle \(T_b=T(A=(0,0),B=(1,0),C=(c_1,c_2))=\)(vertex 1,vertex 2,vertex 3). ch.all.intri is for checking whether all data points are inside \(T_b\) (default is FALSE).

See also (ceyhan:Phd-thesis,ceyhan:mcap2012;textualpcds).

Usage

cl2CC.TbVR(Dt, c1, c2, ch.all.intri = FALSE)

Arguments

Dt

A set of 2D points representing the set of data points.

c1, c2

Positive real numbers which constitute the vertex of the basic triangle. adjacent to the shorter edges; \(c_1\) must be in \([0,1/2]\), \(c_2>0\) and \((1-c_1)^2+c_2^2 \le 1\)

ch.all.intri

A logical argument for checking whether all data points are inside \(T_b\) (default is FALSE).

Value

A list with the elements

txt1

Vertex labels are \(A=1\), \(B=2\), and \(C=3\) (corresponds to row number in Extremum Points).

txt2

A short description of the distances as "Distances from closest points to ...".

type

Type of the extrema points

mtitle

The "main" title for the plot of the extrema

ext

The extrema points, here, closest points to \(CC\) in each vertex region.

X

The input data, Dt, can be a matrix or data frame

num.points

The number of data points, i.e., size of Dt

supp

Support of the data points, here, it is \(T_b\).

cent

The center point used for construction of vertex regions

ncent

Name of the center, cent, it is "CC" for this function.

regions

Vertex regions inside the triangle, \(T_b\), provided as a list.

region.names

Names of the vertex regions as "vr=1", "vr=2", and "vr=3"

region.centers

Centers of mass of the vertes regions inside \(T_b\).

dist2ref

Distances from closest points in each vertex region to CC.

References

See Also

cl2CC.VR, cl2eTbVRcent, cl2eVRcent, cl2eVRCM and fr2eTeER

Examples

Run this code
# NOT RUN {
c1<-.4; c2<-.6;
A<-c(0,0); B<-c(1,0); C<-c(c1,c2);
Tb<-rbind(A,B,C)
n<-20

set.seed(1)
dat<-runif.bastri(n,c1,c2)$g

Ext<-cl2CC.TbVR(dat,c1,c2)
Ext
summary(Ext)
plot(Ext)

cl2CC.TbVR(dat[1,],c1,c2)

c2CC<-cl2CC.TbVR(dat,c1,c2)

CC<-circ.cent.bastri(c1,c2)  #the circumcenter
D1<-(B+C)/2; D2<-(A+C)/2; D3<-(A+B)/2;
Ds<-rbind(D1,D2,D3)

Xlim<-range(Tb[,1],dat[,1])
Ylim<-range(Tb[,2],dat[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]

plot(A,pch=".",asp=1,xlab="",ylab="",xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05))
polygon(Tb)
L<-matrix(rep(CC,3),ncol=2,byrow=TRUE); R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty=2)
points(dat)
points(c2CC$ext,pch=4,col=2)

txt<-rbind(Tb,CC,Ds)
xc<-txt[,1]+c(-.03,.03,.02,.07,.06,-.05,.01)
yc<-txt[,2]+c(.02,.02,.03,-.01,.03,.03,-.04)
txt.str<-c("A","B","C","CC","D1","D2","D3")
text(xc,yc,txt.str)

cl2CC.TbVR(dat,c1,c2)

cl2CC.TbVR(c(.4,.2),c1,c2)

dat.fr<-data.frame(a=dat)
cl2CC.TbVR(dat.fr,c1,c2)

dat2<-rbind(dat,c(.2,.4))
cl2CC.TbVR(dat2,c1,c2)

cl2CC.TbVR(dat2,c1,c2,ch.all.intri = FALSE)
#gives an error message if ch.all.intri = TRUE
#since not all points are in the basic triangle

# }

Run the code above in your browser using DataLab