
Simulate copula parameters and compute L-comoments and provision for plotting features for a composited copula using four compositing parameters (see composite3COP
). The compositing parameters are each independent and uniformly distributed:
lcomCOP
.
simcomposite3COP(nsim=100, compositor=composite3COP,
parents=NULL, ploton=FALSE, points=FALSE,
showpar=FALSE, showresults=FALSE, digits=6, ...)
Number of simulations to perform;
The compositing function that could be either composite1COP
, composite2COP
, and composite3COP
;
A special parameter list
(see Note);
A logical to toggle on intermediate plotting;
A logical to actually draw the simulations on the ploton
by the points()
function in R;
Print the simulated parameter set with each iteration;
Print the results (useful if harvest results from a batch operation in R);
The number digits to pass to round
if showresults
is true; and
Additional arguments to pass.
An R matrix of results is returned. Each row represents a single simulation run. The first four columns are the T2.21
means the L-comoment correlation row 2 column 1 and T3.12
mean the L-coskew row 1 column 2. The remaining columns represent the Cop1Thetas
or Cop2Thetas
.
Asquith, W.H., 2011, Distributional analysis with L-moment statistics using the R environment for statistical computing: Createspace Independent Publishing Platform, ISBN 978--146350841--8.
# NOT RUN {
# EXAMPLE 1: Make a single simulation result.
mainpara <- list(cop1=PLACKETTcop, cop2=PLACKETTcop,
para1gen=function() { return(c(10^runif(1,min=-5,max=0))) },
para2gen=function() { return(c(10^runif(1,min= 0,max=5))) })
v <- simcompositeCOP(nsim=1, parent=mainpara, showresults=TRUE)
print(v)
# EXAMPLE 2: Make 1000 "results" and plot two columns.
mainpara <- list(cop1=PLACKETTcop, cop2=N4212cop,
para1gen=function() { return(c(10^runif(1,min=-5,max=5))) },
para2gen=function() { return(c(10^runif(1,min= 0,max=2))) })
v <- simcomposite3COP(nsim=100, parent=mainpara); labs <- colnames(v)
plot(v[,5],v[,7], # open circles are 1 with respect to 2
xlab=paste(c(labs[5], "and", labs[6]), collapse=" "),
ylab=paste(c(labs[6], "and", labs[8]), collapse=" "))
points(v[,6],v[,8], pch=16) # black dots are 2 with respect to 1
# }
Run the code above in your browser using DataLab