# Ts.estim: Two-Step Estimator In TwoStepCLogit: Conditional Logistic Regression: A Two-Step Estimation Method

## Description

Function that computes the two-step estimator proposed in Craiu et al. (2011) and its `print` method.

## Usage

 ```1 2 3 4 5``` ```Ts.estim(formula, data, random, all.m.1 = FALSE, D = "UN(1)", itermax = 2000, tole = 1e-06) ## S3 method for class 'Ts.estim' print(x, ...) ```

## Arguments

 `formula` A formula object, with the response on the left of a `~` operator, and the covariates on the right. The right hand side of the model must also include two special terms: a `strata` and a `cluster` term (ex. `formula = Y ~ X1 + X2 + X3 + strata(var_strata) + cluster(var_cluster)`). The `strata` and `cluster` functions (from the package survival) are used to identify the stratification and the cluster variables, respectively. `data` A data frame (or object coercible by as.data.frame to a data frame) containing the variables in the model. `random` A formula object, with a blank on the left of a `~` operator, and, on the right, the covariates with random coefficients among the covariate listed in the model `formula` (ex. `random = ~ X1 + X3`). The default is to add random coefficients for every covariates listed in the model `formula`. `all.m.1` `TRUE` if sum of Y's in all strata is 1, `FALSE` otherwise (the default). When in doubt use `FALSE` (always works, but slower than necessary if all stratum sums are 1). `D` The form of the between-cluster variance-covariance matrix of the regression coefficients (matrix D) : either `"UN"` for unstructured matrix D or `"UN(1)"` (the default) for diagonal matrix D. `itermax` maximal number of EM iterations (default = 2000) `tole` maximal distance between successive EM iterations tolerated before declaring convergence (default = 0.000001) `x` An object, produced by the `Ts.estim` function, to print. `...` Further arguments to be passed to `print.default`.

## Details

Calls `coxph` from the package survival.

## Value

 `beta` A vector: the regression coefficients. `se` A vector: the regression coefficients' standard errors. `vcov` A matrix: the variance-covariance matrix of the regression coefficients. `D` A matrix: estimate of the between-cluster variance-covariance matrix of the regression coefficients (matrix D). `r.effect` The random effect estimates. `coxph.warn` A list of character string vectors. If the `coxph` function generates one or more warnings when fitting the Cox model to a cluster, a copy of these warnings are stored in `coxph.warn\$Cluster_name` where `Cluster_name` is the identification value for the cluster in the data set. A `NULL` list element means that `coxph` did not produce any warnings for that cluster. `Call` The function call.

## Author(s)

Radu V. Craiu, Thierry Duchesne, Daniel Fortin and Sophie Baillargeon

## References

Craiu, R.V., Duchesne, T., Fortin, D. and Baillargeon, S. (2011), Conditional Logistic Regression with Longitudinal Follow-up and Individual-Level Random Coefficients: A Stable and Efficient Two-Step Estimation Method, Journal of Computational and Graphical Statistics. 20(3), 767-784.

`ddim`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19``` ```# Two ways for specifying the same model # Data: bison # Model: covariates forest, biomass and pmeadow # Random effects in front of forest and biomass # Main diagonal covariance structure for D (the default) way1 <- Ts.estim(formula = Y ~ forest + biomass + pmeadow + strata(Strata) + cluster(Cluster), data = bison, random = ~ forest + biomass) way1 way2 <- Ts.estim(formula = bison[,3] ~ as.matrix(bison[,c(6,8:9)]) + strata(bison[,2]) + cluster(bison[,1]), data = bison, random = ~ as.matrix(bison[,c(6,8)])) way2 # Unstructured covariance for D Fit <- Ts.estim(formula = Y ~ forest + biomass + pmeadow + strata(Strata) + cluster(Cluster), data = bison, random = ~ forest + biomass, D="UN") Fit ```