Learn R Programming

copula (version 0.999-19.1)

setTheta: Specify the Parameter(s) of a Copula

Description

Set or change the parameter \(\theta\) (theta) of a copula. The name ‘theta’ has been from its use in (nested) Archimedean copulas, where x is of class "'>acopula" or "'>outer_nacopula". This is used for constructing copula models with specified parameter, as, for example, in onacopula(), or also gofCopula.

Usage

setTheta(x, value, na.ok = TRUE, noCheck = FALSE, freeOnly = TRUE, …)

# S4 method for acopula,ANY setTheta(x, value, na.ok = TRUE, noCheck = FALSE, freeOnly = TRUE, …) # S4 method for copula,ANY setTheta(x, value, na.ok = TRUE, noCheck = FALSE, freeOnly = TRUE, …) # S4 method for xcopula,ANY setTheta(x, value, na.ok = TRUE, noCheck = FALSE, freeOnly = TRUE, …) # S4 method for outer_nacopula,numeric setTheta(x, value, na.ok = TRUE, noCheck = FALSE, freeOnly = TRUE, …) # S4 method for khoudrajiCopula,ANY setTheta(x, value, na.ok = TRUE, noCheck = FALSE, freeOnly = TRUE, …)

# S4 method for mixCopula,ANY setTheta(x, value, na.ok = TRUE, noCheck = FALSE, freeOnly = TRUE, treat.negative = c("set.0", "warn.set0", "stop"), …)

Arguments

x

an R object of class '>Copula, i.e., any copula from package copula.

value

parameter value or vector, numeric or NA (when na.ok is true), corresponding to the “free” parameters.

further arguments for methods.

na.ok

logical indicating if NA values are ok for theta.

noCheck

logical indicating if parameter constraint checks should be skipped.

freeOnly

logical indicating that only non-fixed aka “free” parameters are to be set. If true as by default, setTheta() modifies only the free parameters of the copula; see also fixParam.

treat.negative

a character string indicating how negative mixture weights should be handled. If not "stop" which produces an error via stop, negative mixture weights are replaced by zero.

Value

an R object of the same class as x, with the main parameter (vector) (often called theta) set to value.

See Also

the “inverse” function, a “getter” method, is getTheta().

Examples

Run this code
# NOT RUN {
myC <- setTheta(copClayton, 0.5)
myC
## Frank copula with Kendall's tau = 0.8 :
(myF.8 <- setTheta(copFrank, iTau(copFrank, tau = 0.8)))

# negative theta is ok for dim = 2 :
myF <- setTheta(copFrank, -2.5, noCheck=TRUE)
myF@tau(myF@theta) # -0.262

myT <- setTheta(tCopula(df.fixed=TRUE), 0.7)
stopifnot(all.equal(myT, tCopula(0.7, df.fixed=TRUE), tolerance=0))

(myT2 <- setTheta(tCopula(dim=3, df.fixed=TRUE), 0.7))
## Setting 'rho' and 'df'  --- for default df.fixed=FALSE :
(myT3 <- setTheta(tCopula(dim=3), c(0.7, 4)))
# }

Run the code above in your browser using DataLab