# ordcont

From GenOrd v1.1.0
by Alessandro Barbiero

##### computes the "intermediate" correlation matrix for the multivariate standard normal in order to achieve the "target" correlation matrix for the ordinal/discrete variables

The function computes the correlation matrix of the k-dimensional standard normal r.v. yielding the desired correlation matrix `Sigma`

for the k-dimensional r.v. with desired marginal distributions `marginal`

- Keywords
- models, distribution, htest, datagen

##### Usage

`ordcont(marginal,Sigma,support=list(),Spearman=FALSE,epsilon=1e-06,maxit=100)`

##### Arguments

- marginal
- a list of $k$ elements, where $k$ is the number of variables. The $i$-th element of marginal is the vector of the cumulative probabilities defining the marginal distribution of the $i$-th component of the multivariate variable. If the $i$-th component h
- Sigma
- the target correlation matrix of the ordinal/discrete variables
- support
- a list of $k$ elements, where $k$ is the number of variables. The $i$-th element of support contains the ordered values of the support of the $i$-th variable. By default, the support of the $i$-th variable is $1,2,...,k_i$
- Spearman
- if TRUE, the function finds Spearman's correlations (and it is not necessary to prvide
`support`

), if FALSE (default) Pearson's correlations - epsilon
- the maximum tolerated error among target and actual correlations
- maxit
- the maximum number of iterations of the algorithm

##### Value

- a list of four elements
SigmaC the correlation matrix of the multivariate standard normal variable SigmaO the actual correlation matrix of the discretized variables (it should approximately coincide with the target correlation matrix `Sigma`

)Sigma the target correlation matrix of the ordinal/discrete variables niter the number of iterations performed maxerr the actual maximum error (the absolute maximum deviation between actual and target correlations of the ordinal/discrete variables)

##### Note

The value of the maximum tolerated absolute error `epsilon`

on the elements of the correlation matrix for ordinal r.v. can be set by the user: a value between 0.000001 and 0.01 seems to be an acceptable compromise assuring both the precision of the results and the convergence of the algorithm; moreover, a maximum number of iteration can be chosen (`maxit`

), in order to avoid possible endless loops in case of non-convergence

##### See Also

##### Examples

```
# consider a 4-dimensional ordinal variable
k<-4
# with different number of categories
kj<-c(2,3,4,5)
# and uniform marginal distributions
marginal<-list(0.5,c(1/3,2/3),c(1/4,2/4,3/4),c(1/5,2/5,3/5,4/5))
corrcheck(marginal)
# and the following correlation matrix
Sigma<-matrix(c(1,0.5,0.4,0.3,0.5,1,0.5,0.4,0.4,0.5,1,0.5,0.3,0.4,0.5,1),4,4,byrow=TRUE)
Sigma
# the correlation matrix of the standard 4-dimensional standard normal
# ensuring Sigma is
res<-ordcont(marginal, Sigma)
res[[1]]
# change some marginal distributions
marginal<-list(0.3,c(1/3,2/3),c(1/5,2/5,3/5),c(0.1,0.2,0.4,0.6))
corrcheck(marginal)
# and notice how the correlation matrix of the multivariate normal changes...
res<-ordcont(marginal, Sigma)
res[[1]]
# change Sigma, adding a negative correlation
Sigma[1,2]<--0.2
Sigma[2,1]<-Sigma[1,2]
Sigma
res<-ordcont(marginal, Sigma)
res[[1]]
```

*Documentation reproduced from package GenOrd, version 1.1.0, License: GPL*

### Community examples

Looks like there are no examples yet.