# TriDimRegression-package: The 'TriDimRegression' package. In TriDimRegression: Bayesian Statistics for 2D/3D Transformations

 TriDimRegression-package R Documentation

## The 'TriDimRegression' package.

### Description

Fits 2D and 3D geometric transformations. Provides posterior via Stan. Includes computation of LOO and WAIC information criteria, R-squared.

To fit transformation, call the main function either via a formula that specifies dependent and independent variables with the `data` table or by supplying two tables one containing all independent variables and one containing all dependent variables.

For the 2D data, you can fit `"translation"` (2 parameters for translation only), `"euclidean"` (4 parameters: 2 for translation, 1 for scaling, and 1 for rotation), `"affine"` (6 parameters: 2 for translation and 4 that jointly describe scaling, rotation and sheer), or `"projective"` (8 parameters: affine plus 2 additional parameters to account for projection). For 3D data, you can fit `"translation"` (3 for translation only), `"euclidean_x"`, `"euclidean_y"`, `"euclidean_z"` (5 parameters: 3 for translation scale, 1 for rotation, and 1 for scaling), `"affine"` (12 parameters: 3 for translation and 9 to account for scaling, rotation, and sheer), and `"projective"` (15 parameters: affine plus 3 additional parameters to account for projection). transformations. For details on transformation matrices and computation of scale and rotation parameters please see `vignette("transformation_matrices", package = "TriDimRegression")`

Once the data is fitted, you can extract the transformation coefficients via `coef` function and the matrix itself via `transformation_matrix`. Predicted data, either based on the original data or on the new data, can be generated via `predict`. Bayesian R-squared can be computed with or without adjustment via `R2` function. In all three cases, you have choice between summary (mean + specified quantiles) or full posterior samples. `loo` and `waic` provide corresponding measures that can be used for comparison via `loo::loo_compare()` function.

### Author(s)

Maintainer: Alexander (Sasha) Pastukhov pastukhov.alexander@gmail.com (ORCID)

Authors:

### References

Stan Development Team (2020). RStan: the R interface to Stan. R package version 2.19.3. https://mc-stan.org

`fit_transformation` `fit_transformation_df` `tridim_transformation` `vignette("transformation_matrices", package = "TriDimRegression")` `vignette("calibration", package = "TriDimRegression")` `vignette("comparing_faces", package = "TriDimRegression")`

### Examples

``````# Fitting via formula
euc2 <- fit_transformation(depV1 + depV2 ~ indepV1 + indepV2,
aff2 <- fit_transformation(depV1 + depV2 ~ indepV1 + indepV2,
prj2 <- fit_transformation(depV1 + depV2 ~ indepV1 + indepV2,

# summary of transformation coefficients
coef(euc2)

# statistical comparison via WAIC criterion
loo::loo_compare(waic(euc2), waic(aff2), waic(prj2))

# Fitting via two tables